Routes les plus proches

Le Roads API accepte jusqu'à 100 coordonnées indépendantes et renvoie le segment de route le plus proche pour chaque point. Les points transmis n'ont pas besoin de faire partie d'un chemin continu.

Si vous utilisez des points GPS séquentiels, utilisez Aligner sur les routes.

Requêtes

Une requête de routes les plus proches doit être envoyée à l'aide du protocole HTTPS et se présente comme suit :

https://roads.googleapis.com/v1/nearestRoads?parameters&key=YOUR_API_KEY

Paramètres obligatoires

  • points

    Points à aligner. Le paramètre points accepte une liste de latitude/longitude paires. Séparez les valeurs de latitude et de longitude par une virgule. Séparez les coordonnées par une barre verticale ("|"). Exemple : points=60.170880,24.942795|60.170879,24.942796|60.170877,24.942796.

Exemples

La requête suivante renvoie un ensemble de segments de route en fonction de la liste de coordonnées spécifiée.

URL

https://roads.googleapis.com/v1/nearestRoads
  ?points=60.170880%2C24.942795%7C60.170879%2C24.942796%7C60.170877%2C24.942796
  &key=YOUR_API_KEY

curl

curl -L -X GET 'https://roads.googleapis.com/v1/nearestRoads?points=60.170880%2C24.942795%7C60.170879%2C24.942796%7C60.170877%2C24.942796&key=YOUR_API_KEY'

Réponses

Pour chaque requête valide, le Roads API renvoie une réponse au format indiqué dans l'URL de la requête.

{
  "snappedPoints":
    [
      {
        "location":
          { "latitude": 60.170878428876755, "longitude": 24.94269540970182 },
        "originalIndex": 0,
        "placeId": "ChIJfVFHrM0LkkYRBzUQos_jR5w",
      },
      {
        "location":
          { "latitude": 60.17087741412199, "longitude": 24.942695474405202 },
        "originalIndex": 1,
        "placeId": "ChIJfVFHrM0LkkYRBzUQos_jR5w",
      },
      {
        "location":
          { "latitude": 60.170875416131736, "longitude": 24.942695601802203 },
        "originalIndex": 2,
        "placeId": "ChIJfVFHrM0LkkYRBzUQos_jR5w",
      },
    ],
}

La réponse utilise le schéma suivant.

NearestRoadsResponse

Champ Obligatoire Type Description
facultatif Array<SnappedPoint>

Tableau de points alignés. Contient parfois plusieurs points alignés pour le même point avec des placeId ou des emplacements différents.

Pour en savoir plus, consultez SnappedPoint.

SnappedPoint

Champ Obligatoire Type Description
obligatoire LatitudeLongitudeLiteral Pour en savoir plus, consultez LatitudeLongitudeLiteral.
obligatoire chaîne

Identifiant unique d'un lieu. Tous les ID de lieu renvoyés par l'API Roads correspondent à des segments de route.

facultatif nombre

Entier indiquant la valeur correspondante dans la requête d'origine. Chaque valeur de la requête doit correspondre à une valeur alignée dans la réponse. Toutefois, si vous avez défini interpolate=true ou si vous utilisez les routes les plus proches, il est possible que la réponse contienne plus de coordonnées que la requête. Les valeurs interpolées n'auront pas d'originalIndex. Ces valeurs sont indexées à partir de 0. Par conséquent, un point avec un originalIndex de 4 sera la valeur alignée de la cinquième latitude/longitude transmise au paramètre path. Les points des routes les plus proches peuvent contenir plusieurs points pour des coordonnées uniques avec des emplacements ou des placeId différents.

LatitudeLongitudeLiteral

Objet décrivant un emplacement spécifique avec la latitude et la longitude en degrés décimaux.

Champ Obligatoire Type Description
obligatoire nombre

Latitude en degrés décimaux

obligatoire nombre

Longitude en degrés décimaux