API de navigation
Obtenez des itinéraires entre deux points avec des instructions étape par étape. Prend en charge la conduite (avec trafic), la marche et le vélo. Les instructions sont disponibles en français, arabe et anglais.
Obtenir un itinéraire
Calculez un itinéraire entre un point de départ et une destination. La réponse inclut une géométrie GeoJSON LineString pour le rendu cartographique, la distance et la durée totales, ainsi que des instructions de navigation étape par étape.
/navigation/directionsCalculez un itinéraire avec instructions étape par étape entre deux points
Paramètres
| Paramètre | Type | Requis | Description |
|---|---|---|---|
originLatitude | number | Requis | Latitude du point de départ(ex. 18.0858) |
originLongitude | number | Requis | Longitude du point de départ(ex. -15.9785) |
destinationLatitude | number | Requis | Latitude de la destination(ex. 18.1012) |
destinationLongitude | number | Requis | Longitude de la destination(ex. -15.9507) |
profile | string | Facultatif | Profil de navigation : "driving-traffic" (par défaut), "walking" ou "cycling"(ex. driving-traffic) |
language | string | Facultatif | Langue des instructions de navigation : fr, ar ou en(ex. fr) |
alternates | number | Facultatif | Nombre d'itinéraires alternatifs à retourner (0-3, par défaut : 0)(ex. 2) |
Profils de navigation
driving-trafficItinéraires en voiture avec données de trafic en temps réel. Profil par défaut.
walkingItinéraires piétons utilisant les chemins et trottoirs.
cyclingItinéraires à vélo privilégiant les routes adaptées aux cyclistes.
Exemple de requête
curl -X GET "https://api.oolel.com/navigation/directions?\
originLatitude=18.0858&\
originLongitude=-15.9785&\
destinationLatitude=18.1012&\
destinationLongitude=-15.9507&\
profile=driving-traffic&\
language=fr&\
alternates=1" \
-H "Authorization: Bearer YOUR_API_KEY"Exemple de réponse
{
"routes": [
{
"distance": 4250,
"duration": 612,
"geometry": {
"type": "LineString",
"coordinates": [
[-15.9785, 18.0858],
[-15.9762, 18.0871],
[-15.9701, 18.0923],
[-15.9598, 18.0967],
[-15.9507, 18.1012]
]
},
"legs": [
{
"distance": 4250,
"duration": 612,
"steps": [
{
"instruction": "Dirigez-vous vers le nord-est sur Avenue Gamal Abdel Nasser",
"distance": 850,
"duration": 124,
"maneuver": {
"type": "depart",
"modifier": "right",
"location": [-15.9785, 18.0858]
}
},
{
"instruction": "Tournez a droite sur Route de l'Ambassade",
"distance": 1200,
"duration": 185,
"maneuver": {
"type": "turn",
"modifier": "right",
"location": [-15.9762, 18.0871]
}
},
{
"instruction": "Continuez tout droit pendant 1.4 km",
"distance": 1400,
"duration": 203,
"maneuver": {
"type": "continue",
"modifier": "straight",
"location": [-15.9701, 18.0923]
}
},
{
"instruction": "Vous etes arrive a destination",
"distance": 0,
"duration": 0,
"maneuver": {
"type": "arrive",
"modifier": "straight",
"location": [-15.9507, 18.1012]
}
}
]
}
]
}
],
"waypoints": [
{
"name": "Avenue Gamal Abdel Nasser",
"location": [-15.9785, 18.0858]
},
{
"name": "Route de Nouadhibou",
"location": [-15.9507, 18.1012]
}
]
}Notes d'utilisation
Format de géométrie
La géométrie de l'itinéraire est retournée en tant que LineString GeoJSON avec les coordonnées dans l'ordre [longitude, latitude], conformément à la spécification GeoJSON. Cela peut être directement rendu sur MapLibre GL, Leaflet ou toute bibliothèque cartographique compatible GeoJSON.
Types de manœuvres
Chaque étape inclut un objet manœuvre avec un type (départ, turn, continue, merge, roundabout, arrive) et un modifier (left, right, straight, slight left, slight right, sharp left, sharp right, uturn). Utilisez-les pour des interfaces de navigation personnalisées.
Itinéraires alternatifs
Définissez alternates=2 pour recevoir jusqu'à 2 itinéraires alternatifs en plus de l'itinéraire principal. Les itinéraires alternatifs sont retournés dans le même tableau routes, triés par durée (le plus rapide en premier).