Compute Routes peut renvoyer des itinéraires en voiture optimisés pour une distance de trajet plus courte lorsque vous activez les itinéraires de distance plus courte.
Lorsque vous demandez un itinéraire plus court, le service renvoie les éléments suivants :
- La route par défaut, qui est une route optimisée principalement pour l'heure d'arrivée prévue.
- Un itinéraire plus court optimisé pour minimiser la distance parcourue sur l'ensemble du trajet.
Qu'est-ce que c'est et pourquoi l'utiliser ?
Un itinéraire plus court privilégie la distance plutôt que le confort de conduite ou la vitesse. Par exemple, il peut privilégier les routes départementales aux autoroutes, emprunter des chemins de terre ou traverser des parkings. Il ne renvoie aucune manœuvre que Google Maps sait illégale.
Demander un itinéraire plus court
Votre demande doit répondre aux 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 commeDEFAULT_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 à l'itinéraire par défaut et à l'itinéraire plus court :
routes.distanceMeters
: renvoie la distance de l'itinéraire.routes.duration
: renvoie la durée du trajet.
Pour obtenir des informations de référence, consultez ReferenceRoute et RouteLabel.
Exemple de requête : Itinéraire plus court
Le code suivant montre une demande d'itinéraire avec une distance plus courte. Dans cet exemple, vous utilisez le masque de champ de réponse pour renvoyer les champs associés à l'itinéraire par défaut et à l'itinéraire plus court 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 un itinéraire 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 économe en carburant
Le code suivant montre une demande d'itinéraire à la fois plus court et plus é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 économe en carburant
Dans ce cas, l'itinéraire le plus court et le plus économe en carburant sont les mêmes. Cet itinéraire est donc renvoyé et la valeur routeLabel
est incluse pour les deux types d'itinéraire.
{ "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 de courte distance sont disponibles 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, selon les autres paramètres que vous définissez.
En savoir plus sur la facturation de l'API Routes