Simulator Connect - msupino/NavigationApp GitHub Wiki
🇮🇱 עברית
Simulator Connect
NavAid can display your live aircraft position on the map by polling a local SimConnect HTTP bridge running alongside your flight simulator. The aircraft is drawn as a top-down airplane icon that rotates to match your real heading.
Requirements
| Component | Details |
|---|---|
| Flight simulator | Microsoft Flight Simulator 2020/2024, X-Plane 11/12, or any simulator supported by Little NavMap |
| SimConnect bridge | Little NavMap with SimConnect integration enabled, or a compatible bridge on port 2020 |
| NavAid | Running locally (http://localhost:8000) or on the web — any origin works as long as the bridge is reachable from the browser |
Setup
1 — Start your SimConnect bridge
Little NavMap is the most common bridge. In Little NavMap:
- Open Tools → Options → Simulator Aircraft
- Enable Fetch Aircraft Data
- Start the SimConnect connection (Connect button in the toolbar)
The bridge exposes a JSON endpoint on http://localhost:2020 by default.
No Little NavMap? Any HTTP server that returns the following JSON on a GET request works:
{ "latitude": 32.0, "longitude": 34.9, "altitude": 1500, "heading": 350, "ias": 90 }
2 — Open the Simulator panel in NavAid
- Click the small ✈ plane icon in the toolbar footer (next to Terms / Privacy) — it opens the Simulator panel.
- Click Connect to simulator — NavAid starts polling every second.
- The status indicator shows ✅ Connected when data arrives, ⚠ No data if the bridge is unreachable.
The panel is the Connect to simulator button, the Bridge URL field and the status line. Connect shows a green active state.
Following and centring are not in this panel: they are the map's own follow switch and orientation compass, the same two controls a real fix uses. The panel used to carry its own copies, and requiring both meant the map's switch could do nothing while the panel's flag was off.
3 — Fly
Your aircraft appears on the map as a blue top-down high-wing airplane with a white outline, rotating with your heading. If the map is rotated (via the bearing dial), the icon compensates so it always points in the correct screen direction.
A heading line runs ahead of the icon, marked at 2 / 5 / 10 nm and at 2 / 5 min; in a turn it becomes a one-minute curved trend vector (see The heading line). The footer shows ground speed, altitude and magnetic heading from the sim feed, and the in-flight alerts — next leg, TOP, altitude, drift, off route — run off a simulator position exactly as they do off a GPS fix, which is the easiest way to try them on the ground.
Options
| Control | Description |
|---|---|
| Bridge URL | URL of the SimConnect HTTP endpoint. Default http://localhost:2020. Change this if your bridge runs on a different machine or port. |
| Follow | The map's own follow switch, which works off a simulator position exactly as it does off a GPS fix — including the pan/zoom grace before it resumes. |
Persistence
All simulator settings survive a page refresh:
| Setting | Stored key |
|---|---|
| Bridge URL | navaid.simUrl |
| Connected state | navaid.simOn |
| Following | navaid.gpsFollow — the map's switch, shared with GPS |
When Connected was on before the page was refreshed, NavAid automatically reconnects on the next load.
You do not have to open the panel to see that: the footer ✈ icon itself carries the connected state, latched and coloured the same way the ⏺ and 📍 buttons carry theirs, so one glance at the bar reads all three sources alike. Its tooltip and accessible name say Simulator connected while data is arriving.
Troubleshooting
| Symptom | Likely cause | Fix |
|---|---|---|
| ⚠ No data instantly | Bridge not running or wrong URL | Start Little NavMap and check the URL |
| ⚠ No data after a few seconds | Simulator not connected to bridge | Click Connect in Little NavMap |
| Aircraft icon jumps | Bridge returning stale/cached data | Restart the bridge |
| Icon visible but wrong heading | Heading field missing from bridge JSON | Ensure bridge returns heading in degrees true |
| CORS error in browser console | Bridge blocks cross-origin requests | Use NavAid locally (localhost:8000) or configure CORS on the bridge |
Compatible bridges
- Little NavMap (MSFS 2020/2024, X-Plane, P3D, FSX) — recommended
- cvfr-bridge — X-Plane 12 bridge (C plugin + Python UDP, maintained for NavAid)
- CVFR Map SimConnect — reference implementation
- Any HTTP server returning
{ latitude, longitude, altitude, heading, ias }