Try out our live demo called GraphHopper Maps
The Readme lists all features or this list of slides. See users of GraphHopper or Android apps and let us know your application!
For all questions regarding the GraphHopper routing engine please use our forum. For bugs see our contribute section below.
Install the web demo 'GraphHopper Maps' with this user guide on your machine or the Android demo.
The web module provides a web API for other programming languages as well as starts a simple user interface called GraphHopper Maps
- Routing API: Documentation of the Web API to communicate with any GraphHopper server via http.
- Deployment Guide: Details about deploying GraphHopper
- There are official API clients in Java and JavaScript.
You can configure several aspects either programmatically or just via a configuration.
The elevation configuration is separately documented here.
The quickstart is an introduction for developers. Explains git checkout, IDE setup and commands for setting up a GraphHopper server.
Find all changes in previous and current versions in the changelogs.
Read here on how to contribute as a developer and translator.
Various topics are explained in more detail separately:
- Technical overview: Technical details about how GraphHopper its calculations are working.
- Simple routing: Tutorial how to integrate GraphHopper in your Java application (or pick any JVM language)
- Create custom weighting: Documentation about how to create a custom weighting class to influence the track calculation.
- Import GTFS: Simple steps to get GTFS import and routing done.
- LocationIndex: Documentation about how to get the location index for getting i.e. the nearest edge.
- Hybrid Mode: Details about speeding up the route calculation via A* and landmarks.
- Speed Mode: Details about speeding up the route calculations via Contraction Hierarchies.
- Low level API: Instructions how to use GraphHopper as a Java library.
- Create new FlagEncoder: Documentation to create new routing profiles to influence which ways to favor and how the track-time is calculated.
- Spatial Rules: Instruction on how to use and create new SpatialRules. SpatialRules are used to enforce country-specific routing rules.
- Turn Restrictions: Details on how to enable and use turn restrictions.
- Isochrone generation in Java: Instruction on how to create isochrones using the low-level Java API.
- Change Graph: Details about changing values of the graph without restarting GraphHopper.
- Postgis query script
- Add GraphHopper Maps to your Browser: Instructions how to setup GraphHopper as the standard search enginge in your browser.
- Embed GraphHopper on your website: A small code snippet on how to integrate GraphHopper Maps in your web site like a contact form
- Android: Instructions how to setup the demo project for GraphHopper on Android
- Android Studio Setup
Instructions on how to setup the GraphHopper-iOS clone for iOS development are here including a sample application.
Documentation about how to get an GraphHopper instance running on windows via cygwin is available here.
Setup in IntelliJ and NetBeans is just via open project. See this document to set up GraphHopper in Eclipse with maven.