Pour calculer une route ou une matrice d'itinéraire, vous devez spécifier au minimum l'emplacement du point de départ et de la destination. Définissez chaque lieu en tant que point de cheminement sur l'itinéraire.
En plus de l'emplacement, vous pouvez spécifier de nombreuses options différentes pour contrôler l'itinéraire. Par exemple, vous pouvez spécifier de manière à éviter les péages, ou de préciser que l'itinéraire est réservé aux piétons ou aux véhicules à deux roues.
Spécifier un lieu
Pour l'API Routes, vous représentez un emplacement en créant un objet Waypoint (REST) ou Waypoint (gRPC). Dans la définition du point de cheminement, spécifiez un lieu en utilisant:
- ID de lieu
- Coordonnées (latitude/longitude)
- Chaînes d'adresse ("Chicago, Illinois" ou "Darwin, Territoire du Nord, Australie")
- Plus Codes
Vous pouvez utiliser la même représentation de position pour tous les points de cheminement d'une requête ou les combiner. Par exemple, vous pouvez utiliser les coordonnées de latitude/longitude pour le point de cheminement de départ et utiliser un ID de lieu pour le point de cheminement de destination.
Il est préférable d'utiliser des ID de lieu que des coordonnées de latitude/longitude ou des chaînes d'adresse:
L'utilisation des coordonnées de latitude/longitude permet d'ancrer le lieu sur la route la plus proche de ces coordonnées. Il ne s'agit peut-être pas d'un point d'accès à la propriété, ni même d'une route qui mènerait rapidement ou en toute sécurité à la destination.
Les chaînes d'adresse correspondent souvent à la manière dont un utilisateur saisit une adresse. Toutefois, l'API Routes doit d'abord géocoder la chaîne d'adresse en interne pour la convertir en coordonnées de latitude/longitude avant de pouvoir calculer un itinéraire. Cette conversion peut affecter les performances.
Les Plus Codes fonctionnent comme des adresses postales pour les personnes ou les lieux qui n'ont pas d'adresse réelle. Au lieu d'adresses comportant des noms de rue et des numéros, les Plus Codes sont basés sur la latitude et la longitude, et sont affichés sous forme de chiffres et de lettres.
L'API Routes vous offre de nombreuses options pour créer des points de cheminement. Pour en savoir plus sur les points de cheminement et obtenir des exemples, consultez les pages suivantes:
- Utiliser des modificateurs d'emplacement
- Utiliser le qualificatif d'arrêt du véhicule
- Spécifier des points de cheminement intermédiaires
Spécifier un lieu en tant qu'ID de lieu
Vous pouvez utiliser un ID de lieu pour indiquer l'emplacement d'un point de cheminement. Étant donné que les coordonnées de latitude et de longitude sont ancrées aux routes, un ID de lieu peut offrir de meilleurs résultats dans certains cas.
Récupérez les ID de lieu à partir de l'API Geocoding et de l'API Places (y compris Place Autocomplete). Pour en savoir plus sur les ID de lieu, consultez la présentation des ID de lieu.
L'exemple suivant utilise la propriété placeId
pour transmettre un ID de lieu à la fois pour origin
et destination
:
{ "origin":{ "placeId": "ChIJayOTViHY5okRRoq2kGnGg8o" }, "destination":{ "placeId": "ChIJTYKK2G3X5okRgP7BZvPQ2FU" }, ... }
Spécifier un lieu en tant que coordonnées de latitude et de longitude
Pour définir un emplacement dans un point de cheminement, spécifiez l'emplacement (REST) ou l'emplacement (gRPC) à l'aide des coordonnées 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 emplacement sous forme de 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 qui permet de convertir une chaîne d'adresse en coordonnées de latitude et longitude (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 la chaîne en interne pour la convertir en coordonnées de latitude/longitude.
Par exemple, pour calculer un itinéraire, vous spécifiez un point de cheminement pour l'itinéraire origin
et 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 en coordonnées de latitude/longitude.
Si la valeur d'adresse est ambiguë, l'API Routes peut appeler une recherche pour lever l'ambiguïté d'adresses similaires. Par exemple, "1st Street" peut être une valeur complète ou partielle pour "1st street NE" ou "1st St SE". Ce résultat peut être différent de celui renvoyé par l'API Geocoding. Vous pouvez éviter les interprétations erronées à l'aide des ID de lieu.
Définir la région pour l'adresse
Si vous transmettez une chaîne d'adresse incomplète en tant qu'emplacement d'un point de cheminement, l'API peut utiliser des coordonnées de latitude/longitude géocodées de manière incorrecte. Par exemple, vous effectuez une requête spécifiant "Tolède" comme point de départ et "Madrid" comme destination d'un itinéraire en voiture:
{ "origin":{ "address": "Toledo" }, "destination":{ "address": "Madrid" }, "travelMode": "DRIVE" }
Dans cet exemple, "Toledo" est interprété comme une ville de l'État de l'Ohio aux États-Unis, et non 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 orientés vers une région particulière en incluant le paramètre regionCode
. Ce paramètre spécifie le code régional sous la forme d'une valeur ccTLD ("domaine de premier niveau") à deux caractères. La plupart des codes ccTLD sont identiques aux codes ISO 3166-1, à quelques exceptions près. Par exemple, le ccTLD du Royaume-Uni est "uk " (.co.uk) alors que son code ISO 3166-1 est"gb " (techniquement pour l'entité "The UK of Great Britain and Northern Ireland").
Une requête d'itinéraire entre "Toledo" et "Madrid" qui inclut le paramètre regionCode
renvoie les résultats appropriés, car "Toledo" est interprété comme une ville espagnole:
{ "origin":{ "address": "Toledo" }, "destination":{ "address": "Madrid" }, "travelMode": "DRIVE", "regionCode": "es" }
La réponse contient désormais la route calculée de Tolède (Espagne) à Madrid (Espagne) :
{ "routes": [ { "distanceMeters": 75330, "duration": "4137s", ... } ] }
Spécifier un emplacement en tant que Plus Code
De nombreuses personnes n'ont pas d'adresse précise, ce qui peut compliquer la réception des colis. Les personnes disposant d'une adresse peuvent également préférer accepter les livraisons à des emplacements plus spécifiques, par exemple à l'entrée ou à une station de chargement.
Google a développé les Plus Codes pour offrir des adresses accessibles à tout le monde. Un Plus Code est une référence de lieu encodée en dérivée à partir des coordonnées de latitude et de longitude. Elle représente une zone: 1/8000th de degré par 1/8000th de degré (environ 14m x 14m au niveau de l'équateur). Vous pouvez utiliser les Plus Codes pour remplacer des adresses postales dans les endroits où elles n'existent pas, ou dans lesquels les bâtiments ne sont pas numérotés ni nommés.
Les Plus Codes doivent se présenter sous la forme d'un code global ou d'un code composé:
Un code global est composé d'un indicatif régional de quatre caractères et d'un code local de six caractères ou plus.
Par exemple, pour l'adresse "1600 Amphitheatre Parkway, Mountain View, CA", le code global est "849V" et le code local est "CWC8+R9". Vous devez ensuite utiliser l'intégralité du Plus Code (10 caractères) pour spécifier la valeur d'emplacement "849VCWC8+R9".
Un code composé est composé d'un code local composé de six caractères ou plus, associé à un emplacement explicite.
Par exemple, l'adresse "450 Serra Mall, Stanford, CA 94305, États-Unis" est associée au code local "CRHJ+C3". Pour obtenir une adresse composée, associez le code local à la ville, à l'État, au code postal et à la partie de l'adresse au format "CRHJ+C3 Stanford, CA 94305, États-Unis".
Par exemple, vous pouvez calculer un itinéraire en spécifiant un point de cheminement pour l'itinéraire origin
et destination
à l'aide 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, l'API Directions et l'API Geocoding. Par exemple, vous pouvez utiliser l'API Geocoding pour inverser le géocodage d'un lieu spécifié par les coordonnées de latitude/longitude afin de déterminer le Plus Code du lieu.
Spécifier les options d'itinéraire
En plus de spécifier le point de départ et la destination, vous pouvez spécifier de nombreuses options pour contrôler la route. Le tableau suivant répertorie ces options:
Option | Description |
---|---|
Mode de transport | Mode de transport (en voiture, à vélo, à pied ou à deux roues, par exemple). Consultez les pages Router les deux-roues et RouteTravelMode. |
Configurer la qualité des routes et la latence | Prise en compte des conditions de circulation Consultez la section Configurer la qualité et la latence. |
Modificateurs d'itinéraire | Spécifiez des options pour éviter les péages, les autoroutes et d'autres options. Consultez Configurer des modificateurs d'itinéraire. |
Calculer les frais de péage | Estimez les frais de péage associés à un itinéraire. Consultez Calculer les frais de péage. |
Configurer des itinéraires écoresponsables | Calculez un itinéraire économe en carburant qui présente l'itinéraire le plus économe en carburant ou en énergie en fonction du type de moteur de votre véhicule. Consultez la page Configurer des itinéraires écoresponsables. |
Demander des itinéraires alternatifs | Calculez jusqu'à trois routes alternatives avec la route par défaut. Consultez Demander d'autres itinéraires. |
Options supplémentaires | Spécifiez des options supplémentaires, telles que l'heure de départ, le code de langue de la réponse renvoyée (routes de calcul uniquement) et les unités de mesure dans la réponse (routes de calcul uniquement). Consultez la section Corps de la requête. |