Scroll through the data layers a single Viscar route call can return - geometry, traffic-control signs, ETA-aware weather, road-quality scoring, plus a live-traffic layer on the roadmap. The response on the left builds up exactly as it would in your code.
A single POST request returns the snapped route geometry plus distance and duration. Each segment carries its own [[lon, lat], …] coordinate array - drop it straight into Leaflet, Mapbox GL, MapLibre or any client that speaks the GeoJSON coordinate order.
route_id for the built routeStops, signals, give-way, crossings, speed cameras, hazards - pre-filtered for your actual driving direction. A stop on the side street appears; the same node on the through-road is suppressed.
sidEach weather point's reading is projected to the driver's expected arrival time at that point - not "now". In-house risk alerts (rain, snow, slippery road, strong wind, glare, fog, UV) carry severity marks of 1–4.
now + travel_time_to_this_pointEach segment carries a 0–2.0 surface coefficient (avg_score, ≈1.0 = reference baseline) derived from device sensors: smooth highways read above 0.9, rough side streets fall below 0.56. Potholes surface as standalone points, and anomalies as short bad stretches drawn along the route - both anchored by coordinates.
sidsidpoints[] polylinePer-segment congestion deltas keyed off the same sid backbone - free-flow versus current observed speed, with an ETA-aware projection along the route. Not in V1; the response field is reserved and will land in a later release without breaking existing clients.
weather and qualitysid join as quality, so existing client code maps over without restructuringPick only the layers your product actually uses - the response carries no dead weight.