Let your app find its way
Mapzen Turn-by-Turn is a navigation service for the world, based on open data. Add routing to your app and let your users go anywhere on the planet, whether by foot, bike, car, bus, train, or ferry.
The Mapzen Turn-by-Turn API makes it easy to let navigation find its way into your apps, based on road network data from OpenStreetMap and public transit feeds from Transitland. Whether your users need multiple locations, points along a route, custom routing options, or multimodal routing, our API is ready to help.
Flexible routes and options
Mapzen Turn-by-Turn allows you to customize routes on the fly by embedding road characteristics and connectivity information (graph attribution) into its tiled dataset. Unlike ‘pre-baked’ costing models, your applications can use a wide variety of route types with different costing options.
Bicycle routing is a good example of Mapzen Turn-by-Turn’s flexibility. Bicycle type and cycling speed can be changed, along with user preferences for paved roads, dirt paths and hills. Multimodal routes also have a rich set of options, including setting preferences for bus, rail, transfers, and walking distance.
More information on route types and options is available within the API documentation.
Mapzen Turn-by-Turn returns meaningful guidance and narrative directions to assist users during their trip. No more repeated instruction to “continue on [slight variant of road name]” — the narrative is succinct, easy to read, and useful. Redundant maneuvers are collapsed, transitions at complex intersections are simplified, and exit information on highways is clear and timely. If your app is capable of voice guidance, audio-friendly prompts are provided in the results. All these thoughtful features lead to a happier and shorter trip. You can learn more about narrative guidance here.
Powered by open-source
Mapzen Turn-by-Turn is powered by Valhalla, an open-source routing and navigation engine. Check out the code base to learn more. Feel free to comment and submit issues and feature requests.
Timely data updates
The data in Mapzen Turn-by-Turn is fresh and up-to-date. We handle the complexity of the daily updates from OpenStreetMap so you don’t have to. Our team works with the wider OSM community to develop tools and methods aimed at improving OSM data quality for routing and guidance.
Sign up for an API key to add routing to your project!
The Mapzen Turn-by-Turn documentation has step-by-step walkthroughs and technical reference to use the service.
Add navigation to your map
If you’re looking to use Mapzen Turn-by-Turn with a Leaflet web map, check out our plugin for Leaflet Routing Machine (LRM). You’ll be able to start offering Mapzen Turn-by-Turn on your web map in minutes! Our tutorial will get you started in no time.
Harness the power of the API
A Turn-by-Turn API response includes a JSON array of maneuvers including textual and voice directions suitable for navigation and guidance applications. The route path is returned as an encoded polyline which can be decoded and displayed on a map. Many more details are available in the API documentation.
Companion services from Mapzen
- The Time Distance Matrix is ideal for planning and logistics apps where analysis of (yes) the time and distance between a set of locations where route shape and narrative guidance are not yet needed. Learn more here.
- Height and range data can be acquired for points and paths via the Elevation Service look-up API. You can learn more here.
- When GTFS feeds of transit providers are added to the Transitland Feed Registry, the routes and stops can be integrated into Mapzen Turn-by-Turn and provide multimodal routing.
Mapzen Turn-by-Turn has been out in the wild for quite some time. Check out some of our favorite examples from our friends!
A comprehensive reference of parameters and service limits of the Turn-by-Turn routing service.
Summary of functions and definitions of terms unique to routing and graphs.
Source code for Valhalla, the open-source project that powers Turn-by-Turn, on GitHub.