API Reference
Junction Structures
Complete bridge & tunnel centerlines near a point, for 3D junction / grade-separation rendering.
Junction Structures
Return the complete, un-clipped centerlines of bridges/overpasses and tunnels/underpasses near a point. This powers Navvo's 3D junction view during turn-by-turn navigation — elevated viaducts on piers, and recessed tunnel portals — but it is useful for any client that needs grade-separation geometry for a small area.
Scope required: geo
Map vector tiles are clipped per tile, so they can only ever yield bridge/tunnel fragments. This endpoint instead returns each structure as one continuous OSM way (sourced from Navvo's self-hosted geometry index), so an overpass renders as a single deck and a tunnel can be matched against a route to know exactly where it goes underground.
GET /junction/structures
Return every bridge and tunnel highway within radius metres of lat,lng.
Query parameters
lat
number required
Latitude (WGS84).
lng
number required
Longitude (WGS84).
radius
integer
Search radius in metres. Defaults to
320, clamped to 80–800.curl -s "https://navvo.io/api/v1/junction/structures?lat=31.98382&lng=35.89252&radius=320" \
-H "x-api-key: nvvo_YOUR_KEY"
Response
{
"source": "navvo-junction",
"available": true,
"bridges": [
{
"id": 150918346,
"kind": "bridge",
"roadClass": "secondary",
"layer": 1,
"name": "شارع الشهيد وصفي التل",
"oneway": true,
"lanes": 2,
"coordinates": [[35.8923719, 31.9831129], [35.892758, 31.9829988], "…"]
}
],
"tunnels": []
}
| Field | Type | Description |
|---|---|---|
source | string | Always navvo-junction. |
available | boolean | false if the geometry index could not be reached — clients should fall back gracefully. |
bridges / tunnels | array | The structures of each kind near the point. |
…[].id | number | Navvo map-data way id. |
…[].kind | string | bridge or tunnel. |
…[].roadClass | string | OSM highway class (motorway, trunk, primary, secondary, …) — use it to derive road width. |
…[].layer | number | Vertical ordering (OSM layer): >0 is above ground, <0 below. |
…[].name | string | null | Street name, if known. |
…[].oneway | boolean | Whether the carriageway is one-way (dual carriageways arrive as two ways). |
…[].lanes | number | null | Lane count, if tagged. |
…[].coordinates | array | Full [lng, lat] centerline of the structure (a single continuous way). |
To draw a bridge deck, buffer
coordinates to the road width (from lanes or roadClass) and extrude it to layer × ~5.5 m; drop piers along it and an abutment at each end. For a tunnel, trim your route line where it runs within the road half-width of a tunnel coordinates so the route visibly dives into the portal and is not drawn underground.Successful responses are cached server-side per ~120 m cell for 24 h (bridge/tunnel geometry is static).