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.

GET/navigation/directions

Calculez un itinéraire avec instructions étape par étape entre deux points

Paramètres

ParamètreTypeRequisDescription
originLatitudenumberRequisLatitude du point de départ(ex. 18.0858)
originLongitudenumberRequisLongitude du point de départ(ex. -15.9785)
destinationLatitudenumberRequisLatitude de la destination(ex. 18.1012)
destinationLongitudenumberRequisLongitude de la destination(ex. -15.9507)
profilestringFacultatifProfil de navigation : "driving-traffic" (par défaut), "walking" ou "cycling"(ex. driving-traffic)
languagestringFacultatifLangue des instructions de navigation : fr, ar ou en(ex. fr)
alternatesnumberFacultatifNombre d'itinéraires alternatifs à retourner (0-3, par défaut : 0)(ex. 2)

Profils de navigation

driving-traffic

Itinéraires en voiture avec données de trafic en temps réel. Profil par défaut.

walking

Itinéraires piétons utilisant les chemins et trottoirs.

cycling

Itiné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).