L'API Routes peut renvoyer des itinéraires en voiture optimisés pour une distance de trajet plus courte lorsque vous activez les itinéraires de courte distance.
Lorsque vous demandez un itinéraire plus court, le service renvoie ce qui suit:
- La route par défaut, qui est une route optimisée principalement pour l'heure d'arrivée prévue.
- Itinéraire plus court optimisé pour réduire la distance de trajet sur l'ensemble du trajet.
En quoi consiste cette fonctionnalité et pourquoi l'utiliser ?
Un itinéraire plus court privilégie la distance au confort de conduite ou à la vitesse. Par exemple, il peut préférer les routes locales aux autoroutes, emprunter des routes non bitumées ou passer par des parkings. Il ne renvoie aucune manœuvre que Google Maps sait être illégale.
Demander un itinéraire plus court
Votre demande doit respecter les critères suivants:
- Définissez
travelMode
surDRIVE
,BICYCLE
ouTWO_WHEELER
. - Définissez
requestedReferenceRoutes
surSHORTER_DISTANCE
. - Définissez un masque de champ de réponse pour renvoyer les propriétés de réponse associées à un itinéraire plus court :
routes.routeLabels
: identifie chaque itinéraire en tant queDEFAULT_ROUTE
,SHORTER_DISTANCE
ouDEFAULT_ROUTE_ALTERNATE
.routes.routeToken
: jeton d'itinéraire que vous pouvez transmettre au SDK Navigation pour récupérer un itinéraire personnalisé.
- N'incluez pas de points de cheminement intermédiaires
Via
. - N'incluez pas le paramètre
optimizeWaypointOrder
. - Facultatif: définissez un masque de champ de réponse pour renvoyer les propriétés suivantes associées à la route par défaut et à la route la plus courte :
routes.distanceMeters
: renvoie la distance de l'itinéraire.routes.duration
: renvoie la durée du trajet.
Pour en savoir plus, consultez ReferenceRoute et RouteLabel.
Exemple de requête: Itinéraire plus court
Le code suivant montre une requête pour un itinéraire plus court. Dans cet exemple, vous utilisez le masque de champ de réponse pour renvoyer les champs associés à la route par défaut et à la route la plus courte avec les masques de champ suivants:
routes.distanceMeters
routes.duration
curl -X POST -H 'content-type: application/json' -d '{ "origin": { "location": { "latLng": { "latitude": 41.76904801292959, "longitude": -72.67374935684933 } } }, "destination": { "location": { "latLng": { "latitude": 41.823042361105024, "longitude": -71.40933143059424 } } }, "travelMode":"DRIVE", "routingPreference":"TRAFFIC_AWARE", "requestedReferenceRoutes": ["SHORTER_DISTANCE"], }' \ -H 'Content-Type: application/json' -H 'X-Goog-Api-Key: YOUR_API_KEY \ -H 'X-Goog-FieldMask: routes.distanceMeters,routes.duration,routes.routeLabels,routes.routeToken' \ 'https://routes.googleapis.com/directions/v2:computeRoutes'
Exemple de réponse pour le trajet le plus court
{
"routes": [
{
"distanceMeters": 138943,
"duration": "5373s",
"routeToken": "CrsCCs4BMssBGq8BCkECFg9eN0MowaEI3Y4KqMEhzOTe-Qi3947kBsb8koUBkvX0oAKJ_b1S4uPoUvzzAYfXA92t_RXyw98Up6qKAaRaABIsNBjodKMdkMYAPMLMIajCwj-zsIxpgyBxOLYjdBBeKgkO3tFDDrj4YgZB5bMaFQAATME12CCCA9MEF-kO2wL_____DyoLHgAOAHN3DggAQQEyBAUBAQM9VDgqPkV88FI_SNO81oLq4JnjYyIXcklWWFo2cjhDZmltdk9NUDQ3aU1nUU0QBRpPCk0KGAoNCgIIAREAAAAAAIBmQBF56SYxqDm4QBISCAAQAxAGEBMQEhgCQgQaAggFIhsKF3JJVlhaLWFOQnZpbXZPTVA0N2lNZ1FNcAEoASIVAACBmRY1BjeCiUQewJGTrQ3DuHRp",
"routeLabels": [
"DEFAULT_ROUTE"
]
},
{
"distanceMeters": 112610,
"duration": "7165s",
"routeToken": "CqgCCrsBMrgBGpwBCjYCFg1SN0MowaEI3Y4KjfqjF6Ls9BXc-QGiqCOpu7FDtfCXxSG2zLOGI_r4uQGc-we_nQ7MLAASLDQY6HSjHZDGg26EAFrPI5Q3NxvGA4ELazy3sLYqno_9eAFD2KxlCqAGQeWzGg4AAMQDGwyiAqwwKQggJCoLHgBsCQ8Acm0XWWcyAgQGPVQ4Kj5FfPBSP0jikPWC95WdhIwBIhdySVZYWjZHR0RiTzV2T01QOUpiQXlBTRAFGk8KTQoYCg0KAggCEQAAAAAAAFlAEU5iEFh5af1AEhIIABADEAYQExASGAJCBBoCCAUiGwoXcklWWFo3S09Cck81dk9NUDlKYkF5QU1wASgCIhUAAIGZFlj_CmMgGE6KGZcsE-tEywM",
"routeLabels": [
"SHORTER_DISTANCE"
]
}
]
}
Exemple de requête: Itinéraire plus court et plus économe en carburant
Le code suivant demande un itinéraire plus court et un itinéraire économe en carburant.
`
curl -X POST -d '{ "origin": { "location": { "latLng": { "latitude": 41.76904801292959, "longitude": -72.67374935684933 } } }, "destination": { "location": { "latLng": { "latitude": 41.823042361105024, "longitude": -71.40933143059424 } } }, "travelMode":"DRIVE", "routingPreference":"TRAFFIC_AWARE_OPTIMAL", "requestedReferenceRoutes": ["SHORTER_DISTANCE", "FUEL_EFFICIENT"] }'
-H 'Content-Type: application/json'
-H 'X-Goog-Api-Key: YOUR_API_KEY'
-H 'X-Goog-FieldMask: routes.distanceMeters,routes.duration,routes.routeLabels,routes.routeToken'
'https://routes.googleapis.com/directions/v2:computeRoutes'
Exemple de réponse: Itinéraire plus court et plus économe en carburant
Dans ce cas, la distance la plus courte et l'itinéraire le plus économe en carburant sont identiques. L'itinéraire est donc renvoyé et routeLabel
est inclus pour les deux types d'itinéraires.
{ "routes": [ { "distanceMeters": 138943, "duration": "5375s", "routeToken": "Cr8CCs4BMssBGq8BCkECFg9eN0MowaEI3Y4KqMEhzOTe-Qi3947kBsb8koUBkvX0oAKJ_b1S4uPoUvzzAYfXA92t_RXyw98Up6qKAaRaABIsNBjodKMdkMYAPMLMIajCwj-zsIxpgyBxOLYjdBBeKgkO3tFDDrj4YgZB5bMaFQAATME12CCCA9MEF-kO2wL_____DyoLHgAOAHN3DggAQQEyBAUBAQM9VDgqPkV88FI_SNO81oLq4JnjYyIXS1laWFo4T19JcWVCM2ZFUDFMbms4UXcQBRpTClEKGAoNCgIIAREAAAAAAIBmQBFOYhBYGTy4QBIWCAAQAxAGEBMQEhgCQgQaAggFSgIIASIbChdLWVpYWjlpV0g2ZUIzZkVQMUxuazhRd3ABKAEiFQAAgZkW4Df4cspNNJZWlMZuUUxLPQ", "routeLabels": [ "DEFAULT_ROUTE" ] }, { "distanceMeters": 112610, "duration": "7156s", "routeToken": "CqwCCrsBMrgBGpwBCjYCFg1SN0MowaEI3Y4KjfqjF6Ls9BXc-QGiqCOpu7FDtfCXxSG2zLOGI_r4uQGc-we_nQ7MLAASLDQY6HSjHZDGg26EAFrPI5Q3NxvGA4ELazy3sLYqno_9eAFD2KxlCqAGQeWzGg4AAMQDGwyiAqwwKQggJCoLHgBsCQ8Acm0XWWcyAgQGPVQ4Kj5FfPBSP0jikPWC95WdhIwBIhdLWVpYWi1UNklfT055OVlQczhhcWlRSRAFGlMKUQoYCg0KAggCEQAAAAAAAFlAEU5iEFh5af1AEhYIABADEAYQExASGAJCBBoCCAVKAggBIhsKF0tZWlhaNERXSF9PTnk5WVBzOGFxaVFJcAEoAiIVAACBmRaESp2EJS5nmwiEF8KH15_f", "routeLabels": [ "FUEL_EFFICIENT", "SHORTER_DISTANCE" ] } ] }
Régions où le service est disponible
Les itinéraires plus courts sont acceptés dans toutes les régions.
Facturation
Google Maps Platform ne facture pas de frais supplémentaires pour l'utilisation d'une fonctionnalité expérimentale. Vous serez facturé en fonction de votre utilisation de l'API en fonction d'autres paramètres que vous définissez.
En savoir plus sur la facturation pour l'API Routes