Skip to main content

Routing Routes

RESTful API endpoints for turn-by-turn navigation and route optimization using OSRM (Open Source Routing Machine).

Base Pathโ€‹

/api/routing

Endpoints Summaryโ€‹

MethodEndpointDescription
GET/directionsGet turn-by-turn directions
GET/alternativesGet alternative routes
GET/matrixDistance/time matrix
GET/optimizeRoute optimization (TSP)

Endpointsโ€‹

GET /api/routing/directionsโ€‹

Get turn-by-turn directions between two points.

Query Parameters:

ParameterTypeRequiredDescription
originstringYesStart: lat,lon
destinationstringYesEnd: lat,lon
profilestringNodriving, cycling, walking
alternativesbooleanNoInclude alternatives

Response:

{
"success": true,
"data": {
"routes": [
{
"distance": 5420,
"duration": 845,
"geometry": "encoded_polyline_string",
"legs": [
{
"steps": [
{
"instruction": "Head north on Nguyen Hue",
"distance": 250,
"duration": 45,
"maneuver": "depart"
},
{
"instruction": "Turn right onto Le Loi",
"distance": 800,
"duration": 120,
"maneuver": "turn-right"
}
]
}
]
}
],
"waypoints": [
{ "name": "Start", "location": [106.70, 10.77] },
{ "name": "End", "location": [106.75, 10.80] }
]
}
}

GET /api/routing/matrixโ€‹

Get distance/duration matrix for multiple points.

Query Parameters:

ParameterTypeRequiredDescription
originsstringYesOrigin points: lat1,lon1;lat2,lon2
destinationsstringYesDestination points

Response:

{
"success": true,
"data": {
"durations": [
[0, 600, 900],
[650, 0, 450],
[850, 400, 0]
],
"distances": [
[0, 3500, 5200],
[3800, 0, 2800],
[5000, 2600, 0]
]
}
}

Referencesโ€‹