Ce service est également disponible au sein de Google Maps JavaScript API, ou avec les bibliothèques clients Java et Python.
Introduction
Google Maps Directions API est un service qui calcule des itinéraires entre des points géographiques au moyen d'une requête HTTP.
Cette vidéo illustre l'utilisation de Google Maps Directions API afin d'aider les utilisateurs à trouver leur chemin. Elle fournit des conseils sur l'utilisation de votre serveur comme proxy du service Web lorsque vous utilisez l'API sur une application mobile, et ce afin de protéger votre clé d'API.
Vous pouvez rechercher des itinéraires pour différents moyens de transport dont les transports en commun, la voiture, la marche à pied ou le vélo. Les itinéraires peuvent spécifier des points de départ, des destinations et des points de cheminement sous forme de chaînes de texte (par ex., « Chicago, Illinois » ou « Darwin, Territoire du Nord, Australie ») ou de coordonnées de latitude/longitude. Directions API peut renvoyer des itinéraires multi-segments passant par une série de points de cheminement.
Ce service est normalement conçu pour le calcul d'itinéraires pour des adresses statiques (c'est-à-dire connues à l'avance) afin de placer du contenu d'application sur une carte ; il n'est pas conçu pour répondre en temps réel à la demande d'un utilisateur, par exemple. Pour le calcul d'itinéraires dynamiques (par exemple, au sein d'un élément de l'interface utilisateur), voir la documentation sur le service Directions de Google Maps JavaScript API.
Le calcul d'itinéraires est une tâche qui requiert beaucoup de temps et de ressources. Dans la mesure du possible, calculez les adresses connues à l'avance (en utilisant le service décrit ici) et stockez vos résultats dans une mémoire cache temporaire de votre propre conception.
Obtenir une clé Limites d'utilisation
Public ciblé
Ce document est destiné aux développeurs de sites Web et d'applications mobiles qui souhaitent calculer des données d'itinéraire sur les cartes fournies par l'une des Google Maps API. Il contient une introduction à l'utilisation de cette API et des références sur les paramètres disponibles.
Requêtes Directions
Les requêtes Google Maps Directions API ont la forme suivante :
https://maps.googleapis.com/maps/api/directions/output?parameters
où output peut prendre l'une des valeurs suivantes :
json(recommandé) indique que la réponse doit être au format JSON (JavaScript Object Notation).xmlindique que la réponse doit être au format XML.
Pour accéder à Google Maps Directions API via le protocole HTTP, utilisez le format suivant :
http://maps.googleapis.com/maps/api/directions/output?parameters
HTTPS est le protocole recommandé pour les applications qui incluent des données utilisateur sensibles (comme la position géographique de l'utilisateur) dans leurs requêtes.
Les URL de Google Maps Directions API sont limitées à environ 2 000 caractères, après l'encodage des URL. Étant donné que certaines URL de Google Maps Directions API peuvent comporter de nombreux points géographiques le long d'un tracé, ayez toujours cette limite présente à l'esprit lors de la construction de vos URL.
Paramètres des requêtes
Certains paramètres sont obligatoires, d'autres sont facultatifs. Comme pour toutes les URL, les différents paramètres sont séparés par une esperluette (&). Vous trouverez ci-dessous la liste des paramètres et leurs différentes valeurs possibles.
Paramètres obligatoires
origin— Adresse, valeur textuelle de latitude/longitude ou identifiant de lieu à partir duquel vous souhaitez calculer l'itinéraire.- Si vous spécifiez une adresse sous la forme d'une chaîne de caractères, le service Directions géocode cette dernière pour la convertir en coordonnées de latitude/longitude afin de calculer l'itinéraire. Ces coordonnées peuvent différer de celles renvoyées par Google Maps Geocoding API ; il peut s'agir, par exemple, de l'entrée d'un bâtiment plutôt que de son centre.
- Si vous introduisez des coordonnées, elles seront utilisées telles quelles pour calculer l'itinéraire. Assurez-vous que les valeurs de latitude et de longitude ne sont séparées par aucun espace.
- Les identifiants de lieu doivent présenter le préfixe
place_id:. L'identifiant de lieu ne peut être spécifié que si la requête inclut une clé d'API ou un ID client Google Maps API for Work. Vous pouvez extraire des identifiants de lieu à partir de Google Maps Geocoding API et de Google Places API (Place Autocomplete inclus). Pour consulter un exemple d'utilisation des identifiants de lieu à partir de Place Autocomplete, voir Place Autocomplete et Directions. Pour plus d'informations sur les identifiants de lieu, voir la présentation des identifiants de lieu.
destination— Adresse, valeur textuelle de latitude/longitude ou identifiant de lieu vers lequel vous souhaitez calculer l'itinéraire. Les options du paramètredestinationsont les mêmes que celles du paramètreorigindécrites ci-dessus.key— Clé d'API de votre application. Cette clé identifie votre application à des fins de gestion des quotas. Découvrez comment obtenir une clé.
Remarque : Les utilisateurs de Google Maps API for Work doivent inclure des paramètres client et signature valides dans leurs requêtes d'itinéraire. Pour plus d'informations, voir le chapitre Google Maps API for Work Web Services.
Paramètres facultatifs
mode(valeur par défaut :driving) — Indique le moyen de transport à utiliser pour le calcul d'itinéraire. Les valeurs valides et les autres détails de la requête sont spécifiés dans la section Modes de transport.waypoints— Spécifie un tableau de points de cheminement. Les points de cheminement modifient un itinéraire en le faisant passer par le ou les points géographiques indiqués. Un point de cheminement est spécifié sous forme de coordonnées de latitude/longitude, d'identifiant de lieu ou d'adresse qui sera géocodée. Les identifiants de lieu doivent présenter le préfixeplace_id:. L'identifiant de lieu ne peut être spécifié que si la requête inclut une clé d'API ou un ID client Google Maps API for Work. Les points de cheminement sont uniquement pris en charge pour les itinéraires en voiture, à pied ou à vélo. (Pour plus d'informations sur les points de cheminement, voir Utilisation des points de cheminement dans les itinéraires ci-dessous.)alternatives— Si ce paramètre est défini surtrue, il spécifie que le service Directions peut proposer plusieurs itinéraires dans la réponse. Notez que le calcul d'itinéraires alternatifs peut augmenter le temps de réponse du serveur.avoid— Indique que les itinéraires calculés doivent éviter les caractéristiques indiquées. Il prend en charge les arguments suivants :tollsindique que l'itinéraire calculé doit éviter les autoroutes et ponts à péage.highwaysindique que l'itinéraire calculé doit éviter les autoroutes.ferriesindique que l'itinéraire calculé doit éviter les ferries.indoorindique que l'itinéraire calculé doit éviter les étapes en intérieur lorsqu'il s'agit de trajets à pied ou en transports en commun. Seules les requêtes qui incluent une clé d'API ou un ID client Google Maps API for Work reçoivent des étapes en intérieur par défaut.
language— Spécifie la langue dans laquelle les résultats sont renvoyés. Voir la liste des langues prises en charge. Notez que cette liste peut ne pas être exhaustive, car nous mettons régulièrement à jour les langues prises en charge. Si le paramètrelanguagen'est pas fourni, le service tente d'utiliser la langue native du domaine à partir duquel la requête est envoyée.units— Spécifie le système d'unités à utiliser pour l'affichage des résultats. Les valeurs valides sont spécifiées dans la section Systèmes d'unités ci-dessous.region— Spécifie le code de région, indiqué sous forme de valeur ccTLD (« domaine de premier niveau ») à deux caractères. (Pour plus d'informations, voir Limiter les résultats à une région ci-dessous).arrival_time— Spécifie l'heure d'arrivée souhaitée pour les itinéraires en transports en commun, en secondes depuis le 1er janvier 1970 à minuit UTC. Vous pouvez spécifier le paramètredeparture_timeouarrival_time, mais pas les deux. Notez que le paramètrearrival_timespécifié doit être un nombre entier.departure_time— Spécifie l'heure de départ souhaitée. Vous pouvez spécifier l'heure sous forme d'un nombre entier défini en secondes depuis le 1er janvier 1970 à minuit UTC. Si vous préférez, vous pouvez spécifier la valeurnowpour définir l'heure de départ sur l'heure actuelle (à la seconde près). L'heure de départ peut être spécifiée dans deux cas :- Pour les requêtes où le moyen de transport est transit (transports en commun) : Si vous le souhaitez, vous pouvez spécifier une valeur pour
departure_timeouarrival_time. Si aucune heure n'est spécifiée, le paramètredeparture_timeest défini par défaut sur la valeur « now » (en d'autres termes, l'heure de départ est par défaut l'heure actuelle). - Lorsque le mode de transport de la requête est driving (voiture) : Vous pouvez spécifier la valeur du paramètre
departure_timepour obtenir un itinéraire et une durée de trajet (champ de réponse :duration_in_traffic) qui tiennent compte de l'état du trafic. Cette option n'est disponible que si la requête contient une clé d'API valide ou bien un ID client et une signature Google Maps API for Work valides. Le paramètredeparture_timedoit être défini sur l'heure actuelle ou sur une heure future. Il ne peut pas être défini sur une heure passée.
- Pour les requêtes où le moyen de transport est transit (transports en commun) : Si vous le souhaitez, vous pouvez spécifier une valeur pour
traffic_model(valeur par défaut :best_guess) — Spécifie les hypothèses à utiliser pour un calcul de durée en fonction du trafic. Ce paramètre a un impact sur la valeur renvoyée dans le champduration_in_trafficde la réponse, lequel contient la durée prévue en fonction du trafic d'après les moyennes historiques. Vous ne pouvez spécifier le paramètretraffic_modelque pour un itinéraire en voiture, uniquement si le paramètredeparture_timeest spécifié et si la requête inclut une clé d'API ou un ID client Google Maps API for Work. Les valeurs disponibles pour ce paramètre sont les suivantes :best_guess(valeur par défaut) indique que la valeurduration_in_trafficrenvoyée doit être la meilleure estimation de la durée du trajet, d'après les éléments connus concernant l'état du trafic historique et actuel. Plus la valeur du paramètredeparture_timeest proche de l'heure actuelle, plus le trafic actuel a d'importance.pessimisticindique que la valeurduration_in_trafficrenvoyée doit être supérieure à la durée du trajet observée la plupart des jours, même si certains jours, lorsque l'état du trafic est particulièrement mauvais, la durée observée peut dépasser cette valeur.optimisticindique que la valeurduration_in_trafficrenvoyée doit être inférieure à la durée du trajet observée la plupart des jours, même si certains jours, lorsque l'état du trafic est particulièrement bon, la durée observée peut être inférieure à cette valeur.
transit_mode— Spécifie un ou plusieurs moyens de transport en commun privilégiés. Ce paramètre ne peut être spécifié que pour un itinéraire en transports en commun, uniquement si la requête inclut une clé d'API ou un ID client Google Maps API for Work. Le paramètre prend en charge les arguments suivants :busindique que l'itinéraire calculé doit privilégier les trajets en bus.subwayindique que l'itinéraire calculé doit privilégier les trajets en métro.trainindique que l'itinéraire calculé doit privilégier les trajets en train.tramindique que l'itinéraire calculé doit privilégier les trajets en tramway et en métro léger.railindique que l'itinéraire calculé doit privilégier les trajets en train, en tramway, en métro léger et en métro. Cet argument est équivalent àtransit_mode=train|tram|subway.
transit_routing_preference— Spécifie les préférences des itinéraires en transports en commun. Ce paramètre vous permet de biaiser les options renvoyées, au lieu d'accepter le meilleur trajet choisi par défaut par l'API. Ce paramètre ne peut être spécifié que pour un itinéraire en transports en commun, uniquement si la requête inclut une clé d'API ou un ID client Google Maps API for Work. Le paramètre prend en charge les arguments suivants :less_walkingindique que l'itinéraire calculé doit s'efforcer de limiter la distance parcourue à pied.fewer_transfersindique que l'itinéraire calculé doit s'efforcer de limiter le nombre de correspondances.
Exemple de requêtes Directions
La requête suivante renvoie l'itinéraire en voiture de Toronto, en Ontario, à Montréal, au Québec.
https://maps.googleapis.com/maps/api/directions/json?origin=Toronto&destination=Montreal&key=YOUR_API_KEY
En changeant les paramètres mode et avoid, il est possible de modifier la requête initiale afin qu'elle renvoie un itinéraire à vélo pittoresque évitant les grands axes routiers.
https://maps.googleapis.com/maps/api/directions/json?origin=Toronto&destination=Montreal&avoid=highways&mode=bicycling&key=YOUR_API_KEY
La requête suivante recherche l'itinéraire en transports en commun entre Brooklyn, à New York, et le Queens, à New York. La requête ne spécifie pas de departure_time, donc l'heure de départ est par défaut l'heure actuelle :
https://maps.googleapis.com/maps/api/directions/json?origin=Brooklyn&destination=Queens&mode=transit&key=YOUR_API_KEY
La requête suivante inclut une heure de départ spécifique.
Remarque : Dans cet exemple, l'heure de départ spécifiée est le 30 juillet 2012 à 9h45. Pour éviter une erreur, vous devez remplacer le paramètre par une heure dans le futur avant de soumettre la requête.
https://maps.googleapis.com/maps/api/directions/json?origin=Brooklyn&destination=Queens&departure_time=1343641500&mode=transit&key=YOUR_API_KEY
La requête suivante renvoie l'itinéraire en voiture de Glasgow, au Royaume-Uni, à Perth, au Royaume-Uni, à l'aide des identifiants de lieu.
https://maps.googleapis.com/maps/api/directions/json?origin=place_id:ChIJ685WIFYViEgRHlHvBbiD5nE&destination=place_id:ChIJA01I-8YVhkgRGJb0fW4UX7Y&key=YOUR_API_KEY
Modes de transport
Lorsque vous calculez des itinéraires, vous pouvez spécifier le mode de transport à utiliser. Par défaut, les itinéraires sont calculés en voiture (driving). Les modes de transport suivants sont pris en charge :
driving(mode par défaut) indique l'itinéraire en voiture standard via le réseau routier.walkingpermet de rechercher un itinéraire pour un piéton qui emprunterait les voies piétonnes et les trottoirs (dans la mesure du possible).bicyclingpermet de calculer l'itinéraire pour un cycliste qui emprunterait les pistes cyclables et les rues privilégiées (dans la mesure du possible).transitpermet de rechercher un itinéraire empruntant les transports en commun (dans la mesure du possible). Si vous définissez le mode surtransit, vous pouvez, si vous le souhaitez, spécifier le paramètredeparture_timeouarrival_time. Si aucune heure n'est spécifiée, le paramètredeparture_timeest défini par défaut sur la valeur « now » (en d'autres termes, l'heure de départ est par défaut l'heure actuelle). Vous avez également la possibilité de spécifier une valeurtransit_modeet/ou une valeurtransit_routing_preference.
Remarque : Parfois, les itinéraires à pied et à vélo ne comprennent pas de voies piétonnes ou de pistes cyclables. Dans ce cas, le résultat renvoyé contient des avertissements (warnings) que vous devez montrer à l'utilisateur.
Points de cheminement
Lors du calcul de trajets à l'aide de Google Maps Directions API, vous pouvez spécifier des points de cheminement pour les itinéraires en voiture, à pied ou à vélo (les points de cheminement ne sont pas disponibles pour les itinéraires en transports en commun). Les points de cheminement vous permettent de calculer des trajets passant par des points géographiques supplémentaires, auquel cas l'itinéraire renvoyé inclut des arrêts à chacun des points de cheminement fournis.
Les points de cheminement sont spécifiés dans le paramètre waypoints et consistent en une ou plusieurs adresses ou points géographiques séparés par une barre verticale (|).
Par exemple, l'URL suivante lance une requête d'itinéraire pour un trajet entre Boston, dans le Massachusetts, et Concors, dans le Massachusetts, avec des arrêts à Charlestown et Lexington, dans l'ordre suivant :
https://maps.googleapis.com/maps/api/directions/json?origin=Boston,MA&destination=Concord,MA&waypoints=Charlestown,MA|Lexington,MA&key=YOUR_API_KEY
Pour chaque point de cheminement dans la requête, la réponse d'itinéraire inclut une entrée supplémentaire dans le tableau legs afin de fournir les détails correspondant à cette section du trajet.
Si vous souhaitez influencer le trajet avec des points de cheminement sans ajouter d'arrêt, indiquez via: comme préfixe du point de cheminement. Les points de cheminement avec le préfixe via: n'ajoutent pas d'entrée au tableau legs ; cependant, l'itinéraire passe par le point de cheminement fourni.
L'URL suivante modifie la requête précédente de manière à faire passer le trajet par Lexington sans marquer d'arrêt :
https://maps.googleapis.com/maps/api/directions/json?origin=Boston,MA&destination=Concord,MA&waypoints=Charlestown,MA|via:Lexington,MA&key=YOUR_API_KEY
Le préfixe via: est particulièrement efficace pour la création d'itinéraires en réponse à l'utilisateur qui fait glisser les points de cheminement sur la carte. Ainsi, l'utilisateur peut voir le tracé final de l'itinéraire en temps réel et cela permet également de s'assurer que les points de cheminement sont placés sur des points géographiques accessibles à Google Maps Directions API.
Optimiser vos points de cheminement
Par défaut, le service Directions calcule un itinéraire passant par les points de cheminement dans l'ordre fourni. Vous pouvez également spécifier optimize:true comme premier argument dans le paramètre waypoints afin de permettre au service Directions d'optimiser l'itinéraire fourni en réorganisant les points de cheminement dans un ordre plus efficace. (Cette optimisation est une application du problème du voyageur de commerce.)
Si vous demandez au service Directions d'optimiser l'ordre de ses points de cheminement, leur ordre est renvoyé dans le champ waypoint_order de l'objet routes. Le champ waypoint_order renvoie des valeurs de base zéro.
L'exemple suivant calcule l'itinéraire d'un trajet en voiture au départ d'Adélaïde, en Australie-Méridionale, vers chacune des principales régions viticoles d'Australie-Méridionale en utilisant l'optimisation de l'itinéraire.
https://maps.googleapis.com/maps/api/directions/json?origin=Adelaide,SA&destination=Adelaide,SA&waypoints=optimize:true|Barossa+Valley,SA|Clare,SA|Connawarra,SA|McLaren+Vale,SA&key=YOUR_API_KEY
Si l'on examine le trajet, on constate qu'il est calculé en suivant des points de cheminement dans l'ordre ci-dessous :
"waypoint_order": [ 1, 0, 2, 3 ]
Restrictions
Il est possible de calculer des itinéraires qui respectent des restrictions données. Pour spécifier une restriction, vous devez utiliser le paramètre avoid avec l'argument correspondant à la restriction souhaitée. Les restrictions suivantes sont prises en charge :
avoid=tollsavoid=highwaysavoid=ferries
Il est possible d'obtenir un itinéraire qui évite toute combinaison de péages, d'autoroutes et de ferries en indiquant ces restrictions dans le paramètre « avoid ». Par exemple : avoid=tolls|highways|ferries.
Remarque : l'ajout d'une restriction n'exclut pas les itinéraires qui comprennent l'élément à éviter, mais privilégie simplement les itinéraires plus favorables.
Systèmes d'unités
Les résultats d'itinéraire affichent des éléments text dans les champs distance pouvant être affichés à l'utilisateur pour indiquer la distance d'une « étape » particulière sur le trajet. Ce texte utilise par défaut le système d'unités du pays ou de la région de départ.
Par exemple, un itinéraire allant de « Chicago, Illinois » à « Toronto, Ontario » affiche les résultats en miles alors que l'itinéraire inverse affiche des résultats en kilomètres. Vous pouvez modifier ce système d'unités en définissant explicitement un dans le paramètre units de la requête, en indiquant l'une des valeurs suivantes :
metricspécifie l'utilisation du système métrique. Les distances textuelles sont renvoyées en utilisant des kilomètres et des mètres.imperialspécifie l'utilisation du système impérial (anglais). Les distances textuelles sont renvoyées en utilisant des miles et des pieds.
Remarque : ce paramètre de système d'unités n'a d'impact que sur les éléments text affichés dans les champs distance. Les champs distance contiennent également des éléments values qui sont toujours exprimés en mètres.
Limiter les résultats à une région
Vous pouvez également configurer le service Directions pour renvoyer des résultats privilégiant une région en particulier, en utilisant le paramètre region. Ce paramètre peut prendre un argument ccTLD (domaine de premier niveau correspondant au code pays) qui spécifie la région à privilégier. 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) tandis que son code ISO 3166-1 est « gb » (ce qui correspond techniquement à l'entité « Royaume-Uni de Grande Bretagne et d'Irlande du Nord »).
Vous pouvez utiliser n'importe quel domaine dans lequel l'application Google Maps a lancé des itinéraires en voiture.
Par exemple, une requête d'itinéraire de « Toledo » à « Madrid » renvoie un résultat lorsque region est défini sur es, car « Toledo » est interprété comme la ville espagnole de Tolède :
https://maps.googleapis.com/maps/api/directions/json?origin=Toledo&destination=Madrid®ion=es&key=YOUR_API_KEY
{
"status": "OK",
"routes": [ {
"summary": "AP-41",
"legs": [ {
...
} ],
"copyrights": "Map data ©2010 Europa Technologies, Tele Atlas",
"warnings": [ ],
"waypoint_order": [ ]
} ]
}
Un itinéraire de « Toledo » à « Madrid » lancé sans paramètre region ne renvoie pas de résultat étant donné que « Toledo » est interprété comme la ville de l'Ohio :
https://maps.googleapis.com/maps/api/directions/json?origin=Toledo&destination=Madrid&key=YOUR_API_KEY
{
"status": "ZERO_RESULTS",
"routes": [ ]
}
Réponses aux requêtes Directions
Les réponses aux requêtes Directions sont renvoyées au format défini par l'indicateur output dans le chemin de la requête URL.
Exemples de réponses
Un exemple de requête HTTP est présenté ci-dessous. Elle calcule l'itinéraire de Chicago, dans l'Illinois, à Los Angeles, en Californie, via deux points de cheminement à Joplin, dans le Missouri, et Oklahoma City, dans l'Oklahoma.
https://maps.googleapis.com/maps/api/directions/json?origin=Chicago,IL&destination=Los+Angeles,CA&waypoints=Joplin,MO|Oklahoma+City,OK&key=YOUR_API_KEY
L'exemple ci-dessus demande une réponse JSON. Il est également possible de demander une réponse XML. Cliquez sur les onglets ci-dessous pour voir les exemples de réponses aux formats JSON et XML.
Les résultats d'itinéraire pouvant être assez longs, les éléments répétés dans les réponses ont été omis dans un souci de clarté.
{
"status": "OK",
"geocoded_waypoints" : [
{
"geocoder_status" : "OK",
"place_id" : "ChIJ7cv00DwsDogRAMDACa2m4K8",
"types" : [ "locality", "political" ]
},
{
"geocoder_status" : "OK",
"place_id" : "ChIJ69Pk6jdlyIcRDqM1KDY3Fpg",
"types" : [ "locality", "political" ]
},
{
"geocoder_status" : "OK",
"place_id" : "ChIJgdL4flSKrYcRnTpP0XQSojM",
"types" : [ "locality", "political" ]
},
{
"geocoder_status" : "OK",
"place_id" : "ChIJE9on3F3HwoAR9AhGJW_fL-I",
"types" : [ "locality", "political" ]
}
],
"routes": [ {
"summary": "I-40 W",
"legs": [ {
"steps": [ {
"travel_mode": "DRIVING",
"start_location": {
"lat": 41.8507300,
"lng": -87.6512600
},
"end_location": {
"lat": 41.8525800,
"lng": -87.6514100
},
"polyline": {
"points": "a~l~Fjk~uOwHJy@P"
},
"duration": {
"value": 19,
"text": "1 min"
},
"html_instructions": "Head \u003cb\u003enorth\u003c/b\u003e on \u003cb\u003eS Morgan St\u003c/b\u003e toward \u003cb\u003eW Cermak Rd\u003c/b\u003e",
"distance": {
"value": 207,
"text": "0.1 mi"
}
},
...
... additional steps of this leg
...
... additional legs of this route
"duration": {
"value": 74384,
"text": "20 hours 40 mins"
},
"distance": {
"value": 2137146,
"text": "1,328 mi"
},
"start_location": {
"lat": 35.4675602,
"lng": -97.5164276
},
"end_location": {
"lat": 34.0522342,
"lng": -118.2436849
},
"start_address": "Oklahoma City, OK, USA",
"end_address": "Los Angeles, CA, USA"
} ],
"copyrights": "Map data ©2010 Google, Sanborn",
"overview_polyline": {
"points": "a~l~Fjk~uOnzh@vlbBtc~@tsE`vnApw{A`dw@~w\\|tNtqf@l{Yd_Fblh@rxo@b}@xxSfytAblk@xxaBeJxlcBb~t@zbh@jc|Bx}C`rv@rw|@rlhA~dVzeo@vrSnc}Axf]fjz@xfFbw~@dz{A~d{A|zOxbrBbdUvpo@`cFp~xBc`Hk@nurDznmFfwMbwz@bbl@lq~@loPpxq@bw_@v|{CbtY~jGqeMb{iF|n\\~mbDzeVh_Wr|Efc\\x`Ij{kE}mAb~uF{cNd}xBjp]fulBiwJpgg@|kHntyArpb@bijCk_Kv~eGyqTj_|@`uV`k|DcsNdwxAott@r}q@_gc@nu`CnvHx`k@dse@j|p@zpiAp|gEicy@`omFvaErfo@igQxnlApqGze~AsyRzrjAb__@ftyB}pIlo_BflmA~yQftNboWzoAlzp@mz`@|}_@fda@jakEitAn{fB_a]lexClshBtmqAdmY_hLxiZd~XtaBndgC"
},
"warnings": [ ],
"waypoint_order": [ 0, 1 ],
"bounds": {
"southwest": {
"lat": 34.0523600,
"lng": -118.2435600
},
"northeast": {
"lat": 41.8781100,
"lng": -87.6297900
}
}
} ]
}
En règle générale, seule une entrée dans le tableau routes est renvoyée pour les recherches d'itinéraire. Néanmoins, le service Directions peut renvoyer plusieurs trajets si vous définissez alternatives=true.
Notez qu'il faut généralement analyser ces résultats pour pouvoir en extraire des valeurs. Les données JSON sont relativement faciles à analyser. Des modèles de conception recommandés sont disponibles dans la section Analyse JSON.
<DirectionsResponse>
<status>OK</status>
<geocoded_waypoint>
<geocoder_status>OK</geocoder_status>
<type>locality</type>
<type>political</type>
<place_id>ChIJ7cv00DwsDogRAMDACa2m4K8</place_id>
</geocoded_waypoint>
<geocoded_waypoint>
<geocoder_status>OK</geocoder_status>
<type>locality</type>
<type>political</type>
<place_id>ChIJ69Pk6jdlyIcRDqM1KDY3Fpg</place_id>
</geocoded_waypoint>
<geocoded_waypoint>
<geocoder_status>OK</geocoder_status>
<type>locality</type>
<type>political</type>
<place_id>ChIJgdL4flSKrYcRnTpP0XQSojM</place_id>
</geocoded_waypoint>
<geocoded_waypoint>
<geocoder_status>OK</geocoder_status>
<type>locality</type>
<type>political</type>
<place_id>ChIJE9on3F3HwoAR9AhGJW_fL-I</place_id>
</geocoded_waypoint>
<route>
<summary>I-40 W</summary>
<leg>
<step>
<travel_mode>DRIVING</travel_mode>
<start_location>
<lat>41.8507300</lat>
<lng>-87.6512600</lng>
</start_location>
<end_location>
<lat>41.8525800</lat>
<lng>-87.6514100</lng>
</end_location>
<polyline>
<points>a~l~Fjk~uOwHJy@P</points>
</polyline>
<duration>
<value>19</value>
<text>1 min</text>
</duration>
<html_instructions>Head <b>north</b> on <b>S Morgan St</b> toward <b>W Cermak Rd</b></html_instructions>
<distance>
<value>207</value>
<text>0.1 mi</text>
</distance>
</step>
...
... additional steps of this leg
...
... additional legs of this route
<duration>
<value>74384</value>
<text>20 hours 40 mins</text>
</duration>
<distance>
<value>2137146</value>
<text>1,328 mi</text>
</distance>
<start_location>
<lat>35.4675602</lat>
<lng>-97.5164276</lng>
</start_location>
<end_location>
<lat>34.0522342</lat>
<lng>-118.2436849</lng>
</end_location>
<start_address>Oklahoma City, OK, USA</start_address>
<end_address>Los Angeles, CA, USA</end_address>
<copyrights>Map data ©2010 Google, Sanborn</copyrights>
<overview_polyline>
<points>a~l~Fjk~uOnzh@vlbBtc~@tsE`vnApw{A`dw@~w\|tNtqf@l{Yd_Fblh@rxo@b}@xxSfytAblk@xxaBeJxlcBb~t@zbh@jc|Bx}C`rv@rw|@rlhA~dVzeo@vrSnc}Axf]fjz@xfFbw~@dz{A~d{A|zOxbrBbdUvpo@`cFp~xBc`Hk@nurDznmFfwMbwz@bbl@lq~@loPpxq@bw_@v|{CbtY~jGqeMb{iF|n\~mbDzeVh_Wr|Efc\x`Ij{kE}mAb~uF{cNd}xBjp]fulBiwJpgg@|kHntyArpb@bijCk_Kv~eGyqTj_|@`uV`k|DcsNdwxAott@r}q@_gc@nu`CnvHx`k@dse@j|p@zpiAp|gEicy@`omFvaErfo@igQxnlApqGze~AsyRzrjAb__@ftyB}pIlo_BflmA~yQftNboWzoAlzp@mz`@|}_@fda@jakEitAn{fB_a]lexClshBtmqAdmY_hLxiZd~XtaBndgC</points>
</overview_polyline>
<waypoint_index>0</waypoint_index>
<waypoint_index>1</waypoint_index>
<bounds>
<southwest>
<lat>34.0523600</lat>
<lng>-118.2435600</lng>
</southwest>
<northeast>
<lat>41.8781100</lat>
<lng>-87.6297900</lng>
</northeast>
</bounds>
</route>
</DirectionsResponse>
Notez que la réponse XML est constituée d'un seul élément <DirectionsResponse> et des éléments de niveau supérieur suivants :
<status>contient des métadonnées sur la requête. Voir Codes de statut ci-dessous.- Un élément
<geocoded_waypoint>par point de cheminement, plus le point de départ et la destination, avec des détails sur le résultat de leur géocodage. Des éléments<geocoded_waypoint/>peuvent être vides. Voir Points de cheminement géocodés ci-dessous. - Zéro, un ou plusieurs éléments
<result>, chacun contenant un ensemble unique d'informations d'itinéraire entre le point de départ et la destination.
Nous recommandons d'utiliser json comme indicateur de sortie privilégié, sauf si le service requiert xml pour une raison spécifique. Il peut s'avérer délicat de traiter les arborescences XML de manière à faire référence aux nœuds et aux éléments adéquats. Des modèles de conception recommandés pour le traitement des résultats sont disponibles dans la section Analyse XML avec XPath.
Dans la suite de la présente documentation, nous utiliserons la syntaxe JSON. Dans la plupart des cas, le format de sortie n'a pas d'importance lorsqu'il s'agit d'illustrer des concepts ou des noms de champs dans la documentation. Notez cependant les légères différences suivantes :
- Les résultats XML sont incorporés dans un élément racine
<DirectionsResponse>. - JSON représente les entrées avec plusieurs éléments répartis dans plusieurs tableaux (
steps), tandis que XML les représente à l'aide de plusieurs éléments distincts (<step>). - Les éléments vides sont indiqués sous forme de tableaux vides en JSON, mais par l'absence de ces éléments en XML. Par exemple, une réponse qui ne génère aucun résultat renvoie un tableau
routesvide en JSON, mais aucun élément<route>en XML.
Éléments des réponses Directions
Les réponses d'itinéraire comprennent les éléments racine suivants :
statuscontient des métadonnées sur la requête. Voir Codes de statut ci-dessous.geocoded_waypointscontient un tableau avec des détails sur le géocodage du point de départ, de la destination et des points de cheminement. Voir Points de cheminement géocodés ci-dessous.routescontient un tableau d'itinéraires entre le point de départ et la destination. Voir Itinéraires ci-dessous. Les itinéraires se composent de sections et d'étapes.
Codes de statut
Le champ status de l'objet de la réponse d'itinéraire contient le statut de la requête et éventuellement des informations de débogage qui vous aident à savoir pourquoi le service Directions a échoué. Le champ status peut contenir les valeurs suivantes :
OKindique que le champresultde la réponse contient une valeur valide.NOT_FOUNDindique qu'au moins l'un des points géographiques spécifiés dans le point de départ, la destination ou les points de cheminement de la requête n'a pas pu être géocodé.ZERO_RESULTSindique qu'aucun itinéraire n'a pu être identifié entre le point de départ et la destination.MAX_WAYPOINTS_EXCEEDEDindique que trop d'élémentswaypoints(points de cheminement) ont été fournis dans la requête. Le nombre maximum autorisé de points de cheminement (waypoints) est de 23, plus le point de départ et la destination. (Si la requête n'inclut pas de clé d'API, le nombre maximum autorisé de points de cheminement (waypoints) est de 8. Les clients de Google Maps API for Work peuvent envoyer des requêtes contenant jusqu'à 23 points de cheminement.)INVALID_REQUESTindique que la requête fournie n'était pas valide. Un paramètre ou une valeur de paramètre non valide est généralement à l'origine de ce statut.OVER_QUERY_LIMITindique que le service a reçu trop de requêtes de la part de votre application au cours de la période autorisée.REQUEST_DENIEDindique que le service n'a pas autorisé votre application à utiliser le service Directions.UNKNOWN_ERRORindique qu'une requête d'itinéraire n'a pas pu être traitée en raison d'une erreur de serveur. Si vous essayez à nouveau, la requête pourrait aboutir.
Messages d'erreur
Lorsque le code de statut est autre que OK, l'objet de la réponse d'itinéraire peut comporter un champ supplémentaire error_message. Ce champ contient des informations plus détaillées sur les causes de ce code de statut.
Remarque : La présence de ce champ n'est pas garantie et son contenu est susceptible de varier.
Points de cheminement géocodés
Vous pouvez trouver des détails sur le géocodage de chaque point de cheminement, ainsi que du point de départ et de la destination, dans le tableau geocoded_waypoints (JSON). Ils peuvent vous aider à comprendre pourquoi le service renvoie des itinéraires inattendus voire aucun itinéraire.
Grâce à leur position base zéro, les éléments contenus dans le tableau geocoded_waypoints correspondent à l'origine, aux points de cheminement dans leur ordre de spécification, et à la destination. Chaque élément inclut les détails suivants sur l'opération de géocodage du point de cheminement correspondant :
geocoder_statusindique le code de statut résultant de l'opération de géocodage. Ce champ peut contenir les valeurs suivantes :"OK"indique qu'aucune erreur n'est survenue, que l'adresse a été analysée et qu'au moins un géocode a été trouvé."ZERO_RESULTS"indique que le géocode a réussi mais n'a renvoyé aucun résultat. Cela peut se produire si le géocodeur a reçu un paramètreaddressinexistant.
-
partial_matchindique que le géocodeur n'a pas renvoyé de correspondance exacte pour la requête d'origine, mais qu'il a pu trouver une partie de l'adresse demandée. Nous vous recommandons d'examiner la requête d'origine pour vérifier qu'elle ne contient pas d'erreur de syntaxe et/ou que l'adresse est bien complète.Les correspondances partielles sont souvent renvoyées lorsque l'adresse postale n'existe pas dans la localité que vous avez indiquée dans la requête. Les correspondances partielles peuvent aussi être renvoyées lorsqu'une requête correspond à plusieurs lieux au sein de la même localité. Par exemple, « 21 Henr St, Bristol, UK » renvoie une correspondance partielle à la fois pour Henry Street et pour Henrietta Street. Notez que si une requête comprend un composant d'adresse mal saisi, le service de géocodage peut suggérer une autre adresse. Les suggestions déclenchées de cette façon sont également signalées comme des correspondances partielles.
place_idest un identifiant unique qui peut être utilisé avec d'autres API Google. Par exemple, vous pouvez utiliser l'élémentplace_idd'une réponse de Google Place Autocomplete pour calculer l'itinéraire vers une entreprise locale. Voir la présentation des identifiants de lieu.typesindique le type d'adresse du résultat du géocodage utilisé pour le calcul de l'itinéraire. Les types suivants sont renvoyés :street_addressindique une adresse de rue précise.routeindique une route nommée (comme « US 101 »).intersectionindique une intersection majeure, généralement de deux routes principales.politicalindique une entité politique. Habituellement, ce type indique un polygone de certaines administrations civiles.countryindique l'entité politique nationale et correspond généralement au type de premier ordre renvoyé par le géocodeur.administrative_area_level_1indique une entité civile de premier ordre en dessous du niveau du pays. Aux États-Unis, ces niveaux administratifs correspondent aux États. Toutes les nations ne possèdent pas ces niveaux administratifs.administrative_area_level_2indique une entité civile de deuxième ordre en dessous du niveau du pays. Aux États-Unis, ces niveaux administratifs correspondent aux comtés. Toutes les nations ne possèdent pas ces niveaux administratifs.administrative_area_level_3indique une entité civile de troisième ordre en dessous du niveau du pays. Ce type indique une division civile mineure. Toutes les nations ne possèdent pas ces niveaux administratifs.administrative_area_level_4indique une entité civile de quatrième ordre en dessous du niveau du pays. Ce type indique une division civile mineure. Toutes les nations ne possèdent pas ces niveaux administratifs.administrative_area_level_5indique une entité civile de cinquième ordre en dessous du niveau du pays. Ce type indique une division civile mineure. Toutes les nations ne possèdent pas ces niveaux administratifs.colloquial_areaindique un autre nom couramment utilisé pour l'entité.localityindique une entité politique de ville ou de municipalité incorporée.wardindique un type spécifique de localité japonaise afin de faciliter la distinction entre plusieurs composants de localité au sein d'une adresse japonaise.sublocalityindique une entité civile de premier ordre en dessous de la localité. Certains points géographiques peuvent recevoir l'un des types supplémentaires suivants : desublocality_level_1àsublocality_level_5. Chaque niveau de sous-localité correspond à une entité civile. Plus le nombre est élevé, plus la zone géographique est petite.neighborhoodindique un quartier nommé.premiseindique un lieu nommé, généralement un bâtiment ou un ensemble de bâtiments ayant un nom commun.subpremiseindique une entité de premier ordre située en dessous d'un lieu nommé, généralement un bâtiment particulier au sein d'un ensemble de bâtiments ayant un nom commun.postal_codeindique un code postal tel qu'utilisé dans les adresses de courrier postal du pays.natural_featureindique une caractéristique naturelle importante.airportindique un aéroport.parkindique un parc nommé.point_of_interestindique un point d'intérêt nommé. Généralement, ces « POI » sont des entités locales importantes qui ne s'intègrent pas facilement à une autre catégorie, comme l'« Empire State Building » ou la « Statue de la Liberté ».
Une liste de types vide indique qu'il n'y a aucun type connu pour un composant d'adresse particulier, par exemple un Lieu-dit en France.
Ces détails ne sont pas présents pour les points de cheminement spécifiés sous forme de valeurs textuelles de latitude/longitude si le service ne renvoie pas de résultat. En effet, seul un géocodage inversé de ces points de cheminement est effectué pour obtenir leur adresse représentative lorsqu'un itinéraire a été trouvé. Un objet JSON vide occupe les lieux correspondants dans le tableau geocoded_waypoints.
Itinéraires
Google Maps Directions API renvoie les résultats sous forme d'un tableau d'éléments routes (JSON). Même si le service ne renvoie aucun résultat (par exemple, si le point de départ et/ou la destination sont inexistants), il renvoie malgré tout un tableau routes vide. Les réponses XML sont composées de zéro, un ou plusieurs éléments <route>.
Chaque élément du tableau routes contient un seul résultat à partir du point de départ et de la destination spécifiés. Cet itinéraire peut se composer d'un ou de plusieurs éléments legs, en fonction des points de cheminement spécifiés, le cas échéant. L'itinéraire contient également des informations relatives aux droits d'auteur et aux avertissements qui doivent être affichées à l'utilisateur en plus des informations d'itinéraire.
Chaque itinéraire dans le champ routes peut contenir les champs suivants :
summarycontient une brève description textuelle de l'itinéraire, afin de nommer l'itinéraire et de le distinguer des itinéraires alternatifs.legs[]contient un tableau comportant des informations sur une section d'itinéraire, entre deux points géographiques sur un itinéraire donné. Une section séparée est présente pour chaque point de cheminement ou destination spécifié(e). Un itinéraire sans point de cheminement contient exactement une section dans le tableaulegs. Chaque section se compose d'une série desteps. (Voir Sections d'itinéraire ci-dessous.)waypoint_ordercontient un tableau indiquant l'ordre des points de cheminement de l'itinéraire calculé. Il est possible de réorganiser ces points de cheminement sioptimize:trueest spécifié dans le paramètrewaypointsde la requête.overview_polylinecomporte un seul objetpointsqui contient une représentation sous forme de polyligne encodée de l'itinéraire. Cette polyligne est un tracé approximatif (lissé) de l'itinéraire obtenu.boundscontient le cadre de la fenêtre d'affichage deoverview_polyline.copyrightscontient le texte relatif aux droits d'auteur à afficher pour cet itinéraire. Vous devez gérer et afficher vous-même ces informations.warnings[]contient un tableau d'avertissements devant apparaître lorsque l'itinéraire est affiché. Vous devez gérer et afficher vous-même ces avertissements.fare: S'il est présent, ce champ contient le coût total de l'itinéraire (c'est-à-dire le total des prix des billets). Cette propriété n'est renvoyée que pour les requêtes de transports en commun et uniquement si les informations tarifaires sont disponibles pour toutes les sections en transports en commun. Ces informations comprennent les données suivantes :currency: Code de devise ISO 4217 qui indique la devise dans laquelle le montant est exprimé.value: Prix total, exprimé dans la devise spécifiée ci-dessus.text: Prix total, formaté dans la langue spécifiée.
Un exemple d'informations tarifaires d'un itinéraire est présenté ci-dessous :
"routes" : [
{
"bounds" : {
"northeast" : {
"lat" : 37.8079996,
"lng" : -122.4074334
},
"southwest" : {
"lat" : 37.7881005,
"lng" : -122.4203553
}
},
"copyrights" : "Map data ©2015 Google",
"fare" : {
"currency" : "USD",
"value" : 6
"text" : "$6.00"
},
...
}]
Sections
Chaque élément dans le tableau legs spécifie une unique section allant du point de départ à la destination dans l'itinéraire calculé. Les itinéraires sans point de cheminement se composent d'une seule « section ». En revanche, les itinéraires où un ou plusieurs points de cheminement sont définis se composent d'une ou de plusieurs sections de trajet.
Chaque section dans le(s) champ(s) legs peut contenir les champs suivants :
steps[]contient un tableau d'étapes comportant des informations sur chaque étape distincte de la section du trajet. (Voir Étapes d'itinéraire ci-dessous.)distanceindique la distance totale couverte par cette section sous forme de champ avec les éléments suivants :valueindique la distance en mètres.textcontient une représentation lisible de la distance, affichée dans les unités utilisées au point de départ (ou conformément à la modification du paramètreunitsdans la requête). Par exemple, des miles et des pieds sont utilisés pour tout point de départ aux États-Unis. Notez que, quel que soit le système d'unités affiché sous forme de texte, le champdistance.valuecontient toujours une valeur exprimée en mètres.
Ces champs peuvent être absents si la distance est inconnue.
durationindique la durée totale de cette section sous forme de champ avec les éléments suivants :valueindique la durée en secondes.textcontient une représentation lisible de la durée.
Ces champs peuvent être absents si la durée est inconnue.
duration_in_trafficindique la durée totale de la section. Cette valeur est une estimation de la durée en fonction du trafic sur la base des conditions de trafic actuelles et historiques. Reportez-vous au paramètre de requêtetraffic_modelpour connaître les options à votre disposition pour obtenir une valeur optimiste, pessimiste ou encore la meilleure estimation. La durée du trajet n'est renvoyée que si toutes les conditions suivantes sont remplies :- La requête inclut un paramètre
departure_time. - La requête inclut une clé d'API valide ou bien un ID client et une signature Google Maps API for Work valides.
- L'état du trafic est disponible pour l'itinéraire demandé.
- La requête n'inclut pas de points de cheminement avec arrêt.
- La requête porte spécifiquement sur un itinéraire en voiture : le paramètre
modeest défini surdriving.
L'élément
duration_in_trafficse compose des champs suivants :valueindique la durée en secondes.textcontient une représentation lisible de la durée.
- La requête inclut un paramètre
arrival_timecontient l'heure d'arrivée prévue pour la section. Cette propriété est renvoyée uniquement pour les itinéraires en transports en commun. Le résultat est renvoyé sous forme d'objetTimeavec trois propriétés :valueest l'heure spécifiée en tant qu'objetDateJavaScript.textest l'heure spécifiée sous forme de chaîne. L'heure est affichée dans le fuseau horaire de l'arrêt du transport en commun.time_zonecontient le fuseau horaire de cet arrêt. La valeur est le nom du fuseau horaire tel qu'il est défini dans la base de données des fuseaux horaires de l'IANA. Par exemple, « America/New_York ».
departure_timecontient l'heure de départ prévue pour la section, spécifiée sous la forme d'un objetTime. Le champdeparture_timeest uniquement disponible pour les itinéraires en transports en commun.start_locationcontient les coordonnées de latitude/longitude du point de départ de la section. Étant donné que Directions API calcule l'itinéraire entre des points géographiques en utilisant l'option de transport la plus proche (généralement une route) au point de départ et au point d'arrivée, l'élémentstart_locationpeut différer du point de départ fourni pour la section si, par exemple, aucune route ne se trouve à proximité de celui-ci.end_locationcontient les coordonnées de latitude/longitude de la destination donnée pour cette section. Étant donné que Google Maps Directions API calcule l'itinéraire entre des points géographiques en utilisant l'option de transport la plus proche (généralement une route) au point de départ et au point d'arrivée, l'élémentend_locationpeut différer de la destination fournie pour la section si, par exemple, aucune route ne se trouve à proximité de celle-ci.start_addresscontient l'adresse lisible (généralement une adresse postale) obtenue en effectuant un géocodage inversé de l'élémentstart_locationde la section.end_addresscontient l'adresse lisible (généralement une adresse postale) obtenue en effectuant un géocodage inversé de l'élémentend_locationde la section.
Jalons
Chaque élément du tableau steps définit une étape unique dans l'itinéraire calculé. Une étape est l'unité la plus petite d'un itinéraire et décrit une instruction unique et spécifique au cours du trajet. Par exemple, « Tourner à gauche à West 4th Street. » Cette étape décrit non seulement l'instruction mais contient également des informations de distance et de durée concernant la relation entre cette étape et la suivante. Par exemple, une étape telle que « S'insérer sur l'I-80 West » peut contenir une durée de « 37 miles » et de « 40 minutes », indiquant que l'étape suivante se trouve à 37 miles/40 minutes de l'étape actuelle.
Lorsque vous utilisez Google Maps Directions API pour rechercher un itinéraire en transports en commun, le tableau d'étapes inclut des détails supplémentaires sur les transports en commun sous la forme d'un tableau transit_details. Si l'itinéraire inclut plusieurs modes de transport, des indications détaillées sont fournies pour les étapes à pied ou en voiture dans un tableau steps interne. Par exemple, une étape à pied inclut des indications à partir des points de départ et de destination : « Marcher jusqu'à Innes Avenue et Fitch Street. » Cette étape inclut des indications à pied détaillées pour cet itinéraire dans le tableau steps interne comme : « Prendre la direction nord-est. », « Prendre à gauche sur Arelious Walker » et « Prendre à gauche sur Innes Avenue. »
Chaque étape dans le(s) champ(s) steps peut contenir les champs suivants :
html_instructionscontient des instructions formatées pour cette étape, présentées sous forme de chaîne de texte HTML.distancecontient la distance couverte par cette étape jusqu'à l'étape suivante. (Voir les explications sur ce champ dans Sections d'itinéraire ci-dessus.) Ce champ peut être non défini si la distance est inconnue.durationcontient la durée généralement nécessaire pour effectuer l'étape, jusqu'à l'étape suivante. (Voir la description dans Sections d'itinéraire ci-dessus.) Ce champ peut être non défini si la durée est inconnue.start_locationcontient la localisation du point de départ de cette étape, sous la forme d'un ensemble unique de champslatetlng.end_locationcontient la localisation du dernier point de cette étape, sous la forme d'un ensemble unique de champslatetlng.polylinecomporte un seul objetpointsqui contient une représentation sous forme de polyligne encodée de l'étape. Cette polyligne est un tracé approximatif (lissé) de l'étape.stepscontient des indications détaillées pour les étapes à pied ou en voiture dans les itinéraires en transports en commun. Des sous-étapes sont uniquement disponibles lorsquetravel_modeest défini sur « transit ». Le tableaustepsinterne est de même type que le tableausteps.transit_detailscontient des informations spécifiques aux transports en commun. Ce champ est uniquement renvoyé lorsquetravel_modeest défini sur « transit ». Voir Détails sur les transports en commun ci-dessous.
Détails sur les transports en commun
Les itinéraires en transports en commun renvoient des informations supplémentaires qui ne sont pas pertinentes pour les autres modes de transport. Ces propriétés supplémentaires sont détaillées dans l'objet transit_details, renvoyé sous forme de champ d'un élément dans le tableau steps[]. Vous pouvez accéder à des informations supplémentaires sur l'arrêt, la ligne de transport et la société de transport dans l'objet TransitDetails.
Un objet transit_details peut contenir les champs suivants :
arrival_stopetdeparture_stopcontiennent des informations sur l'arrêt ou la station pour cette partie du trajet. Les détails de l'arrêt peuvent inclure les éléments suivants :nameest le nom de la station ou de l'arrêt du transport en commun. Par exemple, « Union Square ».locationest la localisation de l'arrêt ou de la station du transport en commun, représentée par un champlatetlng.
arrival_timeetdeparture_timecontiennent les heures d'arrivée et de départ pour cette section du trajet, spécifiées grâce aux trois propriétés suivantes :textest l'heure spécifiée sous forme de chaîne. L'heure est affichée dans le fuseau horaire de l'arrêt du transport en commun.valueest l'heure spécifiée comme heure Unix ou les secondes depuis le 1er janvier 1970 à minuit UTC.time_zonecontient le fuseau horaire de cet arrêt. La valeur est le nom du fuseau horaire tel qu'il est défini dans la base de données des fuseaux horaires de l'IANA. Par exemple, « America/New_York ».
headsignspécifie la direction de voyage sur la ligne, telle qu'elle est signalée sur le véhicule ou à l'arrêt de départ. Il s'agit souvent du terminus.headwayspécifie le nombre de secondes prévues entre les départs depuis le même arrêt à l'heure actuelle. Par exemple, si la valeurheadwayest de 600, une attente de dix minutes est prévue si vous ratez votre bus.num_stopscontient le nombre d'arrêts pour cette étape, en comptant l'arrêt d'arrivée mais pas celui de départ. Par exemple, si votre itinéraire consiste à monter à l'arrêt A, à passer par les arrêts B et D, et à descendre à l'arrêt D,num_stopsrenvoie 3.linecontient des informations sur la ligne de transport en commun utilisée pour cette étape et peut inclure les propriétés suivantes :namecontient le nom complet de la ligne de transport en commun. Par exemple, « 7 Avenue Express ».short_namecontient le nom court de la ligne de transport en commun. Il s'agit généralement d'un numéro de ligne, comme « M7 » ou « 355 ».colorcontient la couleur généralement utilisée pour signaliser la ligne de transports en commun. La couleur est spécifiée par une chaîne hexadécimale comme #FF0033.agenciescontient un tableau d'objetsTransitAgencyqui fournissent chacun des informations sur l'opérateur de la ligne, y compris les propriétés suivantes :namecontient le nom de la société de transports en commun.urlcontient l'URL de la société de transports en commun.phonecontient le numéro de téléphone de la société de transports en commun.
Vous devez afficher les noms et URL des sociétés de transports en commun desservant les résultats du trajet.
urlcontient l'URL de la ligne de transport fournie par la société de transports en commun.iconcontient l'URL de l'icône associée à la ligne.text_colorcontient la couleur de texte généralement utilisée pour la signalisation de la ligne. La couleur est spécifiée par une chaîne hexadécimale.vehiclecontient le type de véhicule utilisé sur cette ligne. Cet élément peut inclure les propriétés suivantes :namecontient le nom du véhicule sur cette ligne. Par exemple, « Subway » (métro).typecontient le type de véhicule exploité sur cette ligne. Voir la documentation sur le type de véhicule pour consulter la liste complète des valeurs prises en charge.iconcontient l'URL d'une icône associée à ce type de véhicule.
Type de véhicule
La propriété vehicle.type peut renvoyer l'une des valeurs suivantes :
| Valeur | Définition |
|---|---|
RAIL |
Transport ferroviaire. |
METRO_RAIL |
Métro léger. |
SUBWAY |
Métro léger souterrain. |
TRAM |
Train léger en surface (tramway). |
MONORAIL |
Monorail. |
HEAVY_RAIL |
Métro. |
COMMUTER_TRAIN |
Réseau ferré de banlieue. |
HIGH_SPEED_TRAIN |
Train à grande vitesse. |
BUS |
Bus. |
INTERCITY_BUS |
Bus interurbain. |
TROLLEYBUS |
Trolleybus. |
SHARE_TAXI |
Type de bus pouvant faire monter et descendre des passagers n'importe où sur la ligne. |
FERRY |
Ferry. |
CABLE_CAR |
Véhicule tracté par un câble, généralement en surface. Lorsqu'ils sont aériens, ces véhicules peuvent être de type GONDOLA_LIFT (télécabine). |
GONDOLA_LIFT |
Télécabine. |
FUNICULAR |
Véhicule tracté par un câble le long d'une pente prononcée. Un funiculaire se compose généralement de deux rames, chacune agissant comme contrepoids de l'autre. |
OTHER |
Ce type est renvoyé pour tous les autres véhicules. |
Paramètre sensor
Google Maps API exigeait auparavant l'insertion du paramètre sensor pour savoir si votre application utilisait un capteur afin de déterminer la position géographique de l'utilisateur. Désormais, ce paramètre n'est plus obligatoire.
