Toolbar - msupino/NavigationApp GitHub Wiki
๐ฎ๐ฑ ืขืืจืืช
The toolbar sits at the top-left of the map. Drag it by the โฏ handle and collapse it with the hamburger toggle. The language picker is in Settings. Each control persists its state to localStorage (see LocalStorage Schema).

Sections collapse to a single header row when closed; opening one closes the others (accordion). Each section's open / closed state survives a reload under navaid.sec.<name>.
Each header is a full-height row (52 px on a phone): a drawn icon, the title, a one-line hint of what is inside, and a chevron. Every entry inside a section has its icon in a fixed column, so the labels line up. The menus, the bottom bar and the map buttons share one icon set; the menus no longer use emoji.
| Order | Section | Hint | Contents |
|---|---|---|---|
| 1 | Edit | Add ยท undo ยท clear | Add waypoint, Add note, Find, Reverse route, Undo, Clear map, Fit to screen, Reset all marker positions, Reset all waypoint names, Clear local store |
| 2 | Map | Chart, overlays, route info | Base layer + overlay toggles (nav-WP, airfields, VOR + VOR ref, freq changes, waypoint names, cumulative time, drift lines, route direction, mid-leg distance, highlight diff, keep kites inside leg, hotspots, mandatory reports, snap to nearest), magnifier |
| 3 | Display | Labels, kites, opacity | Light mode (default) + sliders: label opacity, map opacity, waypoint size, leg arrow size, leg line width, drift line width |
| 4 | Flight plan | โ | One button: opens the Flight Plan |
| 5 | Charts | Plates, routes, weather | Templates, Flight planning form, Airport charts, SIGWX charts, Wind/temp charts, SIGMET, AIRMET, Route check, NOTAM list, LSA bubbles (Low Alt only), Offline CVFR |
| 6 | Extra layers | Weather, NOTAM, airspace | Show NOTAMs / AIRMETs / SIGMETs (+ time slider), wind, weather charts, airfield plates, IFR chart, traffic, NavAid pilots, terrain, airspace, LSA bubbles โ see Extra layers |
| 7 | Export/import | Files, share link | Export (JSON / GPX / PLN / FDR), Import (JSON / GPX / PLN), Saved routes (+ Sync with Google Drive), Share link, Open in Google Earth |
| 8 | Page, PNG, plan card | A3 / A4 page frame, Landscape / Portrait toggle, Save PNG | |
| 9 | Settings | Speed, variation, language, tables | Language, Default speed, Magnetic variation, then Freq table and Alt pairs, and the app version |
Map and Settings used to be one section, View/Set. Settings now holds what you set once: the language, the default speed and the magnetic variation, followed by the two reference tables.
The Simulator is a small โ icon in the toolbar footer (next to Terms / Privacy) that opens the Simulator panel.
The โฐ is the only way in and out of the menus on a phone, and it used to scroll away with them โ open Display, scroll to the bottom of a long section, and the control that closes it is above the top of the screen. The head row (grip, โฐ, language) is now pinned to the top of the panel while the sections scroll underneath, and it is the same row the closed card shows, so opening the menu does not rearrange its own head.
Tapping the map closes the menu. On a phone the open column covers half the chart, so a tap on the map dismisses it โ both the open section and the whole column collapse back to the โฐ. Any map interaction counts, so starting a pan or dropping a waypoint clears the menu out of the way too.
Above the sections (on a phone, at the top of the menu sheet and of the Plan tab):
- ๐พ Save route โ names and saves the route. When the route came from your saved routes it reads Save with that route's name underneath, and an amber dot means it has changed since. Saving over it asks in the app: Save over it, Save as a new routeโฆ, or Cancel. Dimmed while there is nothing to save; pressing it says why.
- ๐ My routes โ opens the saved-routes library; the badge is how many there are.
A route with unnamed end points (clicked on the map) is suggested a name from the nearest airfield or reporting point within 5 NM, or else "Route 28.09 11:52". On the desktop menubar the pair is compact โ icon, dot and count, with words from 1440 px wide.
| Control | What it does |
|---|---|
| โ๏ธ Add waypoint (A) | Click the map to drop a waypoint (snaps to a published nav-WP or airfield if the overlay is on). Click the button again to leave Add mode. |
| ๐ Add note (N) | Click the map to drop a free-text note (rectangle or oval shape, color picker in the inspector). Click again to leave Note mode. |
| ๐ Find (Ctrl-F) | Opens the floating search overlay. Type any airfield ICAO, nav-WP code, or partial name (English or Hebrew). Multi-token query (e.g. LLHZ BAZRA DEROR SHARO HADRA) + Enter builds a full route. |
| โ Reverse route (R) | Flips the waypoint order; swaps inbound / outbound altitudes per leg and rotates name labels 180ยฐ. Warns that a reversed route might not match allowed routes โ the published network is directed, so corridors can be one-way. With no route drawn it says so instead. Unavailable once a turning point is marked: the route already flies out and back. |
| โถ Undo (Ctrl-Z) | Steps back the last edit, move, or delete. |
| ๐ Clear map (C) | Removes every waypoint and note after confirmation, and clears the print page frame with them. |
| โ Fit to screen (F) | Zooms the map so all waypoints are visible (capped so two close waypoints don't snap to a tight view). |
| โบ Reset all marker positions | Returns every leg's info-marker offset (heading / altitude / time kite) to its default spot. |
| โบ Reset all waypoint names | Sets each name to its nearest reference point, or clears it when off-grid. |
| ๐ Clear local store (danger) | Wipes all NavAid data on this device โ saved routes, the current route, and settings โ after confirmation, then reloads clean. |
| Control | What it does |
|---|---|
| Layer | Base map: CVFR / Navigation / Low Alt / Satellite / OpenStreetMap / OpenFlightMaps / World (Helicopters exists but is switched off on the live site โ see Map Layers). Persists to navaid.layer. See Map Layers. |
| Show Waypoint Names | Toggles waypoint name labels (off = empty circle). The โณ button rotates the labels around the waypoint. |
| Show / Pin Navigation Waypoints | Overlays the 170 active Israeli VFR reporting points. |
| Show / Pin Airfields | Overlays the 27 published Israeli airfields. |
| Show VOR stations | Overlays Israeli VOR/DME stations. Marker visibility is independent from radial/DME calculations. |
| VOR ref | Selects the VOR used for map, inspector and Flight Plan radial/DME readouts. Stays visible even when VOR markers are hidden. |
| Show cumulative time | A running total-flight-time kite after each leg. |
| Show drift lines | 10ยฐ drift reference lines at each leg end (thickness from the Drift line width slider). |
| Show/Add Freq Changes | Creates / restores lightning callouts, with call sign and frequency, for route waypoints on known ATC-change reporting points. Default: on. |
| Snap to nearest point (Force snap) | Every click snaps to the nearest airfield or nav-waypoint regardless of distance (otherwise an 18 px radius). |
| ๐งญ Route direction | Which direction's leg kites to draw: both, outbound only, or return only. Filters the kites and their cumulative arrows โ the route line, distance badges and drift lines always stay. Dimmed until the route has a turning point, since there is nothing to divide; it then reads Not relevant (the kites underneath keep their filter: outbound for a route with no turn). With a turn, only the three real choices are offered. |
Off by default and hidden. It mirrored a one-way route to picture the way home; with a turning point the route already contains its return, so the mirror was redundant. The code is intact โ set featureShowReturn in the tuning gist (or the ?tune=1 panel) to bring back the control, its B shortcut and the drawing. |
|
| Show leg distance | A small distance badge in the middle of each leg. |
| Highlight altitude / speed diff | Highlights legs whose altitude or speed differs from the adjacent leg. |
| Show mandatory reports | Badges route waypoints that are mandatory (ืืืื) reporting points. |
| Keep kites inside leg | Constrains per-leg info markers (kites) to stay within their leg. |
| Show MSA | Shows the minimum-safe-altitude row on each leg. |
| ๐ Magnifying glass (M) | Opens a loupe at the cursor (opens at 1ร โ detail only; raise its zoom slider to magnify). + / โ adjust the loupe zoom while it's on. See Features. |
A floating map legend (airfield, military airfield, compulsory and on-request reporting points, hotspot and VOR station) sits at the bottom-left of the map. It's UI-only and not exported to PNG.
| Control | Effect |
|---|---|
| Light mode | Light theme is the default; this toggles dark โ light (persisted to navaid.theme). |
| Label opacity | Background opacity of waypoint and leg labels. |
| Map opacity | Brightness of the base-map tiles (on screen and in PNG export). |
| Waypoint size | Scale of the waypoint circle and name label. |
| Leg arrow size | Scale of the leg indicator (heading / altitude / time). |
| Leg line width | Route line thickness. |
| Drift line width | Thickness of the 10ยฐ drift reference lines. |
A hidden Tuning Panel (
?tune=1) exposes every drawing constant. See Tuning Panel.
| Control | What it does |
|---|---|
| ๐งญ Templates | Opens the route-templates picker: choose a ready-made route, set a cruise speed, Build route (replaces the current route after confirmation). |
| ๐ NOTAM list | Full active-NOTAM text list (decoded, with a Raw toggle). Appears once NOTAM data loads. |
| โ AIRMET | List of active IMS AIRMETs for the Tel Aviv FIR, built the same way. Dimmed, saying why when tapped, while none is active; tapping an AIRMET area on the map opens it. See Extra layers. |
| โ SIGMET | List of active international SIGMETs for this FIR and its neighbours (NOAA). Built like the NOTAM list: a Raw / Decoded switch, an Updated line and one card per warning. Dimmed, saying why when tapped, while none is active. See Extra layers. |
| ๐ฌ Wind/temp charts | In-app viewer for the IMS PWX wind/temp chart by flight level + valid time. |
| ๐ SIGWX charts | In-app viewer for the IMS significant-weather chart by valid time. |
| Route check | Checks visible route legs for airspace, NOTAM and weather findings, with expandable categories and nearby weather reports. See Route check. |
| ๐ Flight planning form | The paper flight-planning form, filled from the route. Like the flight plan, it needs legs: with none it says "No legs yet โ drop at least two waypoints first" and opens nothing. See Planning Form. |
| ๐บ๏ธ Airport charts | Charts modal: accordion of airfields, each expands to plates grouped by category (Approach / SID / STAR / Ground / VFR / Other). Click a plate to open the in-app PDF viewer. |
| ๐ LSA bubbles | Lists the LSA airspace bubbles; click one to zoom to it. Only shown on the Low Alt layer while Show LSA bubbles is on. See Extra layers. |
| Offline CVFR | Shows checking/progress/ready status and opens the offline sheet. Downloads only missing CVFR tiles (default zooms 7โ13), prioritizing the route. Other base layers are online-only. See Offline and PWA. |
The order follows Extra layers: Templates first, then the NOTAM list, AIRMET, SIGMET, the wind/temperature and significant-weather charts โ the same order Extra layers lists their map layers โ then route check, the planning form, airport charts, the LSA list, the mosaic and offline download. The Flight plan is not in this menu: it has its own menubar item, so the same command is not listed twice.
The NOTAM, SIGMET and AIRMET lists move by their title bar and open again where you left them (remembered per language). All three also resize from their bottom-right corner, and remember that size. Clicking a card with an area closes the list, turns its map layer on and frames the area.
| Control | What it does |
|---|---|
| Language | English / ืขืืจืืช. Also offered at first start (the terms screen), so a pilot who reads neither menu can still switch. |
| Default speed (kt) | Seed speed for a leg with no earlier leg to copy from โ set it once for your aircraft. Drives the defaultLegSpeedKt tuning key and outranks the remote config, so it survives a reload. Accepts 20โ400; anything else snaps back to the value in force. Persists to navaid.defaultSpeed. โป beside it returns to the default โ the gist's speed if it sets one, else the built-in โ and moves the legs that follow it; dimmed when the default is already in force. |
| Magnetic variation |
Automatic (World Magnetic Model at the aircraft / route / map centre, offline) or Manual (whole degrees, E or W, read as a chart writes it: 5 E). The fields always show the value in force โ read-only in Automatic, with where it was taken in the tooltip. Persists to navaid.magVarAuto / navaid.magVarManual; outranks the gist. |
| ๐ก Freq table | Searchable editor for local frequency defaults โ override any call sign's frequency, reset a row, or restore originals. See Frequency Changes. |
| ๐งญ Alt pairs | Searchable table of the learned CVFR altitude pairs; Copy JSON to clipboard. |
| Pressure unit |
inHg or hPa. The in-flight strip shows the QNH in it (29.91โณ / 1013 hPa); METAR and airfield lines keep both scales with the chosen one first; the cabin pressure in the GPS details follows it. Syncs with the other pilot settings (navaid.pressureUnit; gist default defaultPressureUnit, inHg). |
| Altitude from |
GPS (corrected to indicated, as before) or Barometer + QNH โ the phone's pressure sensor with the QNH the app already fetches, the altimeter's own sum 145366 ร (1 โ (p / QNH)^0.19) ft. The in-flight altitude and the altitude alerts follow it. Without a fresh reading (5 s) or a QNH it falls back to GPS. Not for a pressurised cabin. Device-local (navaid.altSource; gist defaultAltSource, gps). |
| (separator) | Above: the pilot's and the app's settings. Below: the aircraft's numbers. |
| Gallons per hour / Taxi and takeoff (gal) | The aircraft's fuel figures, the same profile as the flight plan's (navaid.aircraft): a change in either place shows in the other. |
| V/S (ft/min) | The climb rate the vertical profile and the map's TOC are drawn with โ not times or fuel, as the line under it says. Same value as the flight plan's (navaid.profileVS). |
| Show the tour | Plays the map tour again. |
| Screen brightness |
(Android app) A slider for the cockpit at night, below the phone's own minimum if needed (a dark veil does the rest; in a browser the veil is all there is). Brightness: back to the phone's setting hands it back. Device-local (navaid.brightness). Gist: featureBrightness. |
| Connect Bluetooth GPS |
(Android app, off by default โ featureBleGps) An external GPS over Bluetooth LE (NMEA |
| App version | The installed version, and in the APK what an update is waiting for โ see Offline and PWA. |
| Control | What it does |
|---|---|
| โฌ Export | A format dropdown โ JSON (NavAid route + notes), GPX (GPS track), PLN (MSFS / P3D flight plan), or FDR (X-Plane replay). Filename is timestamped. See Print and Export. |
| โฌ Import | Loads a route from JSON / GPX / PLN (dispatched by file extension). Strict schema check for JSON; file size capped at 2 MB before parsing. |
| ๐พ Saved routes | Opens the route library to save / load / manage named routes and recorded GPS tracks. Saved routes and Recordings are framed separately, with a Show dropdown to narrow to one; every entry has a Profile button that draws it without loading it. Includes Sync with Google Drive (when configured) โ backs up the library to the user's own private Drive app-data area. See Features. |
| ๐ Share route | Copies a shareable URL that encodes the route in the query string (โค 64 waypoints). Named for what it shares: it sits beside Follow me, which shares a live position instead. |
Saves a .kml flythrough tour; prompts to open Pro (KML) or Web. See Google Earth. |
Planning aids, layered on the map. Full detail in Extra layers.
| Control | What it does |
|---|---|
| Show AIRMETs | Overlays active IMS AIRMET hazard areas (Tel Aviv FIR: mountain obscuration, IFR, surface wind) as dotted polygons labelled by hazard. Dimmed while none is active. Tap an area to read it. Source: ims.gov.il. |
| Show SIGMETs | Draws every active SIGMET with a usable area (this FIR and its neighbours). Tap an area to read it. Off by default (defaultShowSigmet). Source: NOAA. |
| Show NOTAMs | Overlays active Israel-FIR NOTAMs (areas / lines / airport badges); click to read (decoded, with Raw toggle). Timeline slider scrubs by time; full list in Charts. Source: IAA Mobile AeroInfo. |
| Show wind effect | Per-leg wind arrows, route-wide wind readout, wind-triangle row in the leg inspector. Default route wind is calm (000/0, tunable). |
| Fetch wind | Pulls forecast winds aloft and sets a per-leg wind (midpoint + altitude). |
| Show wind field | Animated live winds-aloft field (~3000 ft) with altitude / time / opacity โ anywhere in the world: the grid follows the map. See Extra layers. |
| Show wind/temp | Overlays the IMS PWX chart โ all flight levels (FL030โFL180, default FL030), valid time auto-set to nearest now, opacity slider. |
| Show SIGWX | Overlays the IMS low-level significant-weather chart (map panel + table + header), base layer shows through in dark mode. |
| Airfield plates | Show airfield charts, then Which chart: circuits, training areas, CVFR entry/exit, helicopter entry/exit, comm-failure joining, or Aerodrome chart (ืชืจืฉืื ืฉืื, 11 airfields). One type at a time, with a shared opacity. See Extra layers. |
| Show LSA bubbles | Overlays LSA airspace areas (bubbles) on the map. Low Alt layer only (hidden on other layers). Weekend / always types with distinct legend colours; the ๐ LSA bubbles list (Charts section) zooms to any bubble. See Extra layers. |
Opened from the small plane icon in the toolbar footer โ a vertical panel:
| Control | What it does |
|---|---|
| Connect to simulator | Polls a local SimConnect bridge (e.g. Little NavMap / cvfr-bridge) for live aircraft position. Green when active. |
| Bridge URL | Bridge address (default http://localhost:2020). |
| Follow aircraft | Keeps the map centred on the live aircraft. Green when active. |
| Center on aircraft | One-shot recenter; flashes on click. |
| Control | What it does |
|---|---|
| A3 / A4 / A4ร2 | Toggles a printable page frame on the map (A4ร2 = the A3 frame, saved as two A4 pages to tape together โ see Print and Export). Click the same size again to remove the frame. |
| โญ / โฏ | Toggles landscape / portrait. Persisted to navaid.pageOrient. |
| โฌ Save PNG | Opens the export-PNG modal: pick which overlays to print and the base layer. Live preview while the modal is open; cancel restores the original state. |
- Zoom +/โ and a rotation dial sit bottom-right (drag the dial for any bearing, tap to cycle 0 / 90 / 180 / 270ยฐ).
- The bottom-right coordinate readout is clickable โ type or paste a coordinate to recentre the map (Go to coordinates).
App version (commit short SHA appended at deploy time), GitHub link, Wiki link, Issues / Requests link, and a Shortcuts button (or the ? key) that opens the keyboard-shortcuts cheat-sheet. The language picker is in Settings.
The footer also holds the GPS controls and the Simulator โ icon:
| Control | What it does |
|---|---|
| โบ Record | Records your flown path from the device GPS; the label becomes โน Stop, which stores it as a track overlay in Saved routes. A live readout shows points ยท elapsed ยท ground speed ยท altitude. Showing a track now shows only one at a time, fits the map to it, and glows it amber for 10 s. See GPS track recording. |
| ๐ Location | Shows your live own-ship on the map without recording; the label becomes Hide. |
| ๐ต Comm fail | Lost radio: routes to the nearest field with a published comm-failure procedure, turns its chart on and shows squawk 7600, the tower's phone and the light signals. Lit while on; a second press ends it (the label becomes End comm failure). On a phone it is icon-only. See Comm failure. |