Route enhancement API enhances a route with:
- Geometry for GPX/KML Urls
- Elevation-profile data
- Surface information
- Map-Matching
Every request have to be signed by an API key. For a detailed explanation click here.
| Name | Value | Description |
|---|---|---|
| callback | String | Wrap json output in a callback function (JSONP) |
| geometry | GeoJSON String | A GeoJSON geometry with type LineString or MultiLineString of the route. HINT! for big geometries use a POST request. |
| gpx | URL String | Specify a GPX file URL instead of the geometry parameter for which the route should be calculated. |
| kml | URL String | Specify a KML file URL instead of the geometry parameter for which the route should be calculated. |
| elevation | 0 / 1 | Response contains an elevation-profile object. Defaut false. |
| timings | 0 / 1 | Response contains a timings object, with walking, cycling, cycling_offroad and cycling_racing times. Defaut false. |
| surface | 0 / 1 | Response contains a surface object. Defaut false. |
| mapmatch | 0 / 1 | Response contains a mapmatching object with directions instructions. Defaut false. |
| language | String | 2-digit language code. Set a language for the mapmatching instructions. |
| routeType | String | The vehicle for which the route/surface should be calculated. Use car, bike or foot. |
| cache | 0 / 1 | Use cached results if available. Defaut true. |
https://maptoolkit.p.rapidapi.com/enhance/route?kml=https://maptoolkit.net/export/ts_demo_tours/_1603292819.kml&rapidapi-key=your-api-key
{
"geometry": {
"type": "MultiLineString",
"coordinates": [[ [15.460422,47.349047,1181], [15.460593,47.349027,1179], ... ]]
}
}https://maptoolkit.p.rapidapi.com/enhance/route?geometry={%22type%22:%22LineString%22,%22coordinates%22:[[10,50],[10.1,50.1]]}&elevation=1&rapidapi-key=your-api-key
The elevation response object contains a profile for every part of the MultiLineString.
{
"geometry": { "type": "MultiLineString", "coordinates": [ ... ] }
"elevation": [{
"samples": [ 289, 292, 302, 305, 299, ...], // elevation points about every 100m
// calculated values for the route in m
"distance": 13230.5387902691,
"ascent": 220,
"descent": 160,
// labels to simplify elevation profile drawing
"yrange":[ 200, 600 ], // min/max values for the y-axis
"labels": { // draw nice labels,
// - first value is the realtive position of the label,
// - second value is the label itself
"x": [ [ 0, 0 ], [ 0.226748135322083, 3 ], [ 0.453496270644166, 6 ], ... ],
"y": [ [ 0.25, 300 ], [ 0.5, 400 ], [ 0.75, 500 ] ]
}
}]
}https://maptoolkit.p.rapidapi.com/enhance/route?geometry={%22type%22:%22LineString%22,%22coordinates%22:[[10,50],[10.1,50.1]]}&timing=1&rapidapi-key=your-api-key
The timings response object contains an object for walking, cycling, cycling_offroad and cycling_racing timings, based on route distance and elevation.
{
"geometry": { "type": "MultiLineString", "coordinates": [ ... ] }
"timings": [{
"walking": 300,
"cycling": 100,
"cycling_offroad": 110,
"cycling_racing": 50
}]
}Calculates the surfaces for way-segments. The following values are available:
Highway:
- motorway
- primary
- road
- street
- pedestrian
- cycleway
- path
- hiking
- mountain_hiking
- other
Surface:
- asphalt
- paved
- unpaved
- natural
- alpine
- other
https://maptoolkit.p.rapidapi.com/enhance/route?kml=https://maptoolkit.net/export/ts_demo_tours/_1603292819.kml&surface=1&rapidapi-key=your-api-key
The surface response object contains a profile for every part of the MultiLineString.
{
"geometry": { "type": "MultiLineString", "coordinates": [ ... ] },
"surface": [[
{ "from": 0.05289531405931797, "to": 0.08818694579510504, "highway": "road", "surface": "asphalt" },
{ "from": 0.08818694579510504, "to": 0.10626239120282784, "highway": "road", "surface": "paved" },
...
]]
}Map-Matching is used to generate way-instructions for a GPX-Track.
https://maptoolkit.p.rapidapi.com/enhance/route?kml=https://maptoolkit.net/export/ts_demo_tours/_1603292819.kml&mapmatch=1&rapidapi-key=your-api-key
The mapmatch response object contains a profile for every part of the MultiLineString.
{
"geometry": { "type": "MultiLineString", "coordinates": [ ... ] },
"mapmatch": [[
"instructions": [{
"distance": 336.799,
"name": "Kaufbeurer Straße, St 2014g",
"tags": { "surface": "asphalt", "highway": "road" },
"text": "Turn right onto Kaufbeurer Straße, St 2014",
"sign": 2,
"pushbike": false,
"time": 67357,
"coordinate": [ 47.83471, 10.82657 ],
"speed": 18
}, ... ],
"geometry": {
"type": "LineString",
"coordinates": [ [ 10.82623, 47.83423 ], ... ]
}
]]
}