Live vehicle maps, embeddable anywhere.

Smooth vector maps with your route shapes, your stops, and your vehicles moving in real time — on kiosks, on your website, or inside any page that can hold an iframe.

Live vector map of a rapid bus route crossing the city: red route shape with white casing, stop dots, and bus icons with route labels and heading arrows
A rapid route, live and embeddable: vehicles with headings, stops with tap-for-prediction popups, the route shape with classic casing — all from the feed.

Vector maps in your own cartography.

Maps render with MapLibre GL — fast, open-source vector rendering with basemap styles you control per deployment.

  • Route shapes drawn from your feed's geometry, with classic casing for legibility
  • Stop dots riders can tap for live predictions at that stop
  • Automatic bounds fitting — every route frames itself correctly
  • Custom basemap styles — bring your own style URL, swap it per deployment

Positions, headings, liveries.

Vehicle positions stream in from the realtime pipeline and refresh on every poll tick — with heading-arrow markers, so riders can see at a glance which way each bus or train is going.

  • Heading-aware markers oriented to each vehicle's bearing
  • Custom liveries — agencies can supply per-vehicle icons (historic fleets, special services) through a clean hook
  • Shared data layer — the map polls the same store as the departure boards; no duplicate traffic

Embedding is one iframe.

Every route and stop gets an embeddable map variant at a clean, predictable URL, whatever your main website is built with. A postMessage contract tells the host page when the map is ready — or empty, so blank embeds collapse instead of leaving a hole.

  • Clean URLs — the embed variant is part of the path
  • Frame security built in — allowed embedding origins are configuration, enforced with CSP frame-ancestors
  • Legacy-friendly parameters — highlight a stop or hide labels for drop-in migration from older map widgets
<!-- Any route, live, on any site -->
<iframe
  title="Live map"
  src="https://transit.example.gov/gtfs/display/route/17/map/embed">
</iframe>

// The embed tells your page what happened
window.addEventListener("message", (e) => {
  // status: "ready" → reveal the container
  // status: "empty" → collapse it
});

Where the maps run

On kiosks

A live route map is just another template a display can render — pair it with predictions on a second screen, in lockstep.

On your website

Embed the map variant on route pages, stop pages, or alerts — the iframe carries all the realtime machinery with it.

In the field

Transit-center wayfinding, pop-up event signage, temporary reroute maps — anywhere a URL can be shown, the map can live.

Put your feed to work.

Your riders are already asking where the bus is. Answer them on every page and every screen you own.