Spécifier des lieux pour un itinéraire

Pour calculer un itinéraire, vous devez spécifier au minimum les emplacements de l'itinéraire le point de départ et la destination de l'itinéraire. Vous définissez ces emplacements en tant que points de cheminement sur la via un routage réseau.

Outre le point de départ et la destination, vous pouvez spécifier différents types points de cheminement et comment les gérer pour un itinéraire. Pour en savoir plus et exemples, consultez les rubriques suivantes:

Spécifier des emplacements pour un itinéraire

Pour représenter un emplacement, vous devez créer un Waypoint (REST). ou un objet Waypoint (gRPC). Dans un point de cheminement, vous pouvez spécifier un emplacement de l'une des manières suivantes:

Vous pouvez spécifier les emplacements de tous les points de cheminement d'une requête de la même manière, ou les combiner. Par exemple, vous pouvez utiliser les coordonnées de latitude/longitude pour le point de cheminement de départ et d'utiliser un identifiant de lieu pour le point de cheminement de destination.

Pour plus d'efficacité et de précision, utilisez des ID de lieu plutôt que des coordonnées de latitude/longitude. des coordonnées géographiques ou des chaînes d'adresse. Les ID de lieu sont explicites et fournissent les avantages du geocoding pour le routage, tels que les points d'accès et les variables de trafic. Ils éviter les situations suivantes, qui peuvent résulter d'autres méthodes en spécifiant un emplacement:

  • L'utilisation de coordonnées de latitude/longitude peut entraîner une correspondant à la route la plus proche de ces coordonnées, ce qui n'est pas forcément à la propriété, ou même à une route qui permet d'accéder rapidement mène à la destination.
  • Les chaînes d'adresse doivent d'abord être géocodées par l'API Routes pour pouvoir être converties aux coordonnées de latitude/longitude avant de pouvoir calculer un itinéraire. Cette conversion peut avoir un impact sur vos performances.

Spécifier un lieu en tant qu'ID de lieu

Vous pouvez utiliser un ID de lieu pour spécifier l'emplacement d'un point de cheminement. En effet, les coordonnées de latitude et de longitude sont alignées sur les routes, l'identifiant de lieu offre de meilleurs résultats dans certaines circonstances.

Récupérez les ID de lieu à partir de l'API Geocoding. l'API Places (y compris Place de saisie semi-automatique). Pour en savoir plus sur les ID de lieu, consultez les Présentation des ID de lieu

L'exemple suivant utilise la propriété placeId afin de transmettre un ID de lieu pour les deux origin et destination:

{
  "origin":{
    "placeId": "ChIJayOTViHY5okRRoq2kGnGg8o"
  },
  "destination":{
    "placeId": "ChIJTYKK2G3X5okRgP7BZvPQ2FU"
  },
  ...
}

Spécifiez un lieu en tant que coordonnées de latitude et de longitude.

Pour définir un lieu dans un point de cheminement, indiquez la Location (REST), ou Location(gRPC) à l'aide de de latitude et de longitude.

Par exemple, spécifiez un point de cheminement pour l'itinéraire origin et destination. à l'aide des coordonnées latitude et longitude:

{
  "origin":{
    "location":{
      "latLng":{
        "latitude": 37.419734,
        "longitude": -122.0827784
      }
    }
  },
  "destination":{
    "location":{
      "latLng":{
        "latitude": 37.417670,
        "longitude": -122.079595
      }
    }
  },
...
}

Spécifier un lieu en tant que chaîne d'adresse

Les chaînes d'adresse sont des adresses littérales représentées par une chaîne (par exemple, "1600 Amphitheatre Parkway, Mountain View, CA"). Le geocoding est le processus convertir une chaîne d'adresse en coordonnées de latitude et de longitude (comme latitude 37.423021 et longitude -122.083739).

Lorsque vous transmettez une chaîne d'adresse en tant qu'emplacement d'un point de cheminement, l'API Routes géocode en interne la chaîne pour la convertir en latitude et en longitude coordonnées.

Par exemple, pour calculer un itinéraire, vous devez spécifier un point de cheminement pour l'itinéraire origin. destination à l'aide de chaînes d'adresse:

{
  "origin":{
    "address": "1600 Amphitheatre Parkway, Mountain View, CA"
  },
  "destination":{
    "address": "450 Serra Mall, Stanford, CA 94305, USA"
  },
  ...
}

Dans cet exemple, l'API Routes géocode les deux adresses pour les convertir ses coordonnées géographiques de latitude et de longitude.

Si la valeur de l'adresse est ambiguë, l'API Routes peut appeler une recherche pour pour lever toute ambiguïté à partir d'adresses similaires. Exemple : "1re rue". pourrait être un valeur complète ou partielle pour "1re rue NE" ou "1st St SE". Ce peut être différent de celui renvoyé par l'API Geocoding. Vous pouvez éviter d'éventuelles mauvaises interprétations à l'aide d'ID de lieu.

Définir la région de l'adresse

Si vous transmettez une chaîne d'adresse incomplète pour indiquer l'emplacement d'un point de cheminement, l'API peut utiliser des coordonnées de latitude/longitude géocodées incorrectes. Par exemple : vous envoyez une requête spécifiant "Toledo" comme point de départ et "Madrid" en tant que destination d'un itinéraire en voiture:

{
  "origin":{
    "address": "Toledo"
  },
  "destination":{
    "address": "Madrid"
  },
  "travelMode": "DRIVE"
}

Dans cet exemple, "Toledo" est interprétée comme une ville de l'État de dans l'Ohio aux États-Unis, mais pas en Espagne. Par conséquent, la requête renvoie un tableau vide, ce qui signifie qu'il n'existe aucune route:

{
  []
}

Vous pouvez configurer l'API pour qu'elle renvoie des résultats pondérés en fonction d'une région donnée en y compris le paramètre regionCode. Ce paramètre spécifie le code de région sous la forme d'un ccTLD ("domaine de premier niveau") à deux caractères. La plupart des codes ccTLD sont identiques aux codes ISO 3166-1, avec quelques exceptions notables. Par exemple, le ccTLD au Royaume-Uni est "uk". (.co.uk), tandis que son code ISO 3166-1 est "gb". (d'un point de vue technique pour l'entité Royaume-Uni de Grande-Bretagne et d'Irlande du Nord").

Requête d'itinéraire pour "Toledo" à "Madrid" qui inclut le regionCode renvoie les résultats appropriés, car "Toledo" est interprétée comme ville en Espagne:

{
  "origin":{
    "address": "Toledo"
  },
  "destination":{
    "address": "Madrid"
  },
  "travelMode": "DRIVE",
  "regionCode": "es"
}

La réponse contient maintenant l'itinéraire calculé de Tolède (Espagne) à Madrid (Espagne) :

{
  "routes": [
    {
      "distanceMeters": 75330,
      "duration": "4137s",
      ...
    }
  ]
}

Spécifier un lieu en tant que Plus Code

Beaucoup de gens n'ont pas d'adresse précise, ce qui peut leur rendre difficile de recevoir des livraisons. Les personnes ayant une adresse peuvent également préférer accepter les livraisons à des emplacements plus spécifiques, comme une entrée secondaire ou un chargement sur la station d'accueil.

Les Plus Codes sont comme les adresses postales de personnes ou de lieux qui n'ont pas de adresse réelle. Au lieu d'adresses avec des noms et des numéros de rue, les Plus Codes sont basées sur des coordonnées de latitude/longitude et sont affichées sous forme de nombres et lettres.

Google a développé des Plus Codes de donner l’avantage des adresses à tout le monde et à tout. Un Plus Code est une chaîne des références de lieu, dérivées des coordonnées de latitude/longitude, qui représente une zone: 1/8 000e de degré par 1/8 000e de degré (environ 14 m x 14 m à l'équateur) ou moins. Vous pouvez utiliser les Plus Codes à la place des adresses postales là où elles n'existent pas ou lorsque des bâtiments ne sont pas sont numérotées ou les rues ne sont pas nommées.

Les Plus Codes doivent être formatés en tant que code global ou composé:

  • Un code global est composé d'un indicatif régional à quatre caractères et de six ou un code local plus long.

    Par exemple, pour l'adresse "1600 Amphitheatre Parkway, Mountain View, Californie", le code global est "849V" et le code local est « CWC8+R9 ». Utilisez ensuite les 10 caractères complets du Plus Code pour spécifier le comme valeur d'emplacement : "849VCWC8+R9".

  • Un code composé est composé d'au moins six caractères. code local associé à un emplacement explicite.

    Par exemple, l'adresse "450 Serra" Mall, Stanford, CA 94305, États-Unis possède le code local "CRHJ+C3". Pour un composé adresse, combinez le code local avec la ville, l'État, le code postal et le pays de l'adresse sous la forme "CRHJ+C3 Stanford, CA 94305, États-Unis".

    Par exemple, calculez un itinéraire en spécifiant un point de cheminement pour l'itinéraire origin. et destination avec des Plus Codes:

    {
      "origin":{
        "address": "849VCWC8+R9"
      },
      "destination":{
        "address": "CRHJ+C3 Stanford, CA 94305, USA"
      },
      "travelMode": "DRIVE"
    }

Les Plus Codes sont compatibles avec les API Google Maps Platform, y compris Place Autocomplete Place Details, API Directions ; API Geocoding. Par exemple, vous pouvez utiliser l'API Geocoding pour inverser le geocoding via les coordonnées de latitude/longitude pour déterminer le Plus Code du lieu.