MapRouter

Theme

A multi-stop route planner that schedules the trip against real driving limits — where the break falls, where the meal falls, where you sleep — and shows you what a detour actually costs.

No account. No tracking. No API keys. Your route stays in your browser.

Open the planner

Nothing to install or sign up for. It opens on an empty map, ready for the first stop.

Destinations

Live on this deployment

What it does

Every feature, no upsell tier

  • Multi-stop routing Per-leg distance and duration. Click anywhere on the map and the router snaps the stop to the road.
  • Coordinates, pasted Decimal, DMS, or N43.65 W79.38 — straight in, bypassing the geocoder. Paste a whole list of addresses and geocode the lot.
  • Branch comparison Run A→B1→C against A→B2→C and read the distance and time delta. The divergence is derived, not hand-managed.
  • The clock Set a departure time, a driving limit before a break, a meal window and a sleep window. MapRouter says where you will need to stop, then helps you find a real hotel or restaurant there and folds it into the route.
  • A printable route sheet A clean, achromatic turn-by-turn table that survives a printer.
  • Three themes Light, dark, and a pure black-and-white mode where routes are told apart by line weight and dash pattern rather than colour. The switch above is the real one.

The API

One Worker, keyless, same origin

  • /api/route Route through a list of coordinates. Valhalla by default; OpenRouteService when ORS_KEY is set. POST
  • /api/places Lodging and food near a coordinate, via Overpass. GET
  • /api/geocode/suggest Autocomplete a single place name, via Photon. GET
  • /api/geocode/batch Geocode a pasted list of addresses in one request. POST

In the repository

Paths in the checkout — the repo is private

  • docs/ARCHITECTURE.md The state model, and why branches are stored as variants rather than a graph.
  • docs/API.md Request and error contracts for the four endpoints above.
  • docs/DEPLOY.md Deploying the Worker, and the fair-use limits of the free services this runs on.
  • npm run preview Build and serve the whole thing on the real Workers runtime, API included.