Par défaut, la méthode Compute Routes de l'API Routes calcule un itinéraire passant par plusieurs arrêts, appelés points de cheminement d'arrêt, dans l'ordre que vous fournissez.
Vous pouvez demander à l'API Routes d'optimiser l'itinéraire fourni en réorganisant les arrêts dans un ordre plus efficace. L'optimisation des points de cheminement optimise le temps de trajet, mais prend également en compte d'autres facteurs tels que la distance et le nombre de bifurcations pour déterminer l'itinéraire le plus efficace.
Optimiser les points de cheminement
Assurez-vous qu'aucun des points de cheminement de l'itinéraire n'a
viadéfini surtrue, par exemple :{"address": "Clare,SA", "via": true}. Pour en savoir plus sur les points de cheminement intermédiaires, consultez Spécifier des points de cheminement intermédiaires.Assurez-vous que
routing_preferencen'est pas défini surTRAFFIC_AWARE_OPTIMAL.Définissez
optimize_waypoint_ordersurtrue. Exemple :"optimizeWaypointOrder": "true",
Spécifiez le champ
routes.optimizedIntermediateWaypointIndexdans le masque de champ :REST
-H X-Goog-FieldMask: routes.optimizedIntermediateWaypointIndex
RPC
const (fieldMask = "routes.optimizedIntermediateWaypointIndex")
Comprendre comment l'ordre des points de cheminement est optimisé
Voici comment l'API Routes optimise l'ordre des points de cheminement dans un itinéraire :
Elle indexe automatiquement les points de cheminement en fonction de l'ordre dans lequel vous les fournissez dans la requête, en commençant par 0.
Elle optimise l'ordre des points de cheminement à l'aide des numéros d'index qu'elle leur a attribués dans la requête.
Elle renvoie l'ordre optimisé des points de cheminement dans l'objet
routes, dans le champwaypoint_order, sousroutes.optimizedIntermediateWaypointIndex.
Exemple
Cette requête demande l'optimisation d'un itinéraire d'Adélaïde, en Australie-Méridionale, vers chacune des principales régions viticoles d'Australie-Méridionale, puis le retour à Adélaïde.
curl -X POST -H 'content-type: application/json' -d ' { "origin": { "address": "Adelaide,SA" }, "destination": { "address": "Adelaide,SA" }, "intermediates": [ {"address": "Barossa+Valley,SA"}, {"address": "Clare,SA"}, {"address": "Coonawarra,SA"}, {"address": "McLaren+Vale,SA"} ], "travelMode": "DRIVE", "optimizeWaypointOrder": "true" }' \ -H 'Content-Type: application/json' \ -H 'X-Goog-Api-Key: YOUR_API_KEY' \ -H 'X-Goog-FieldMask: routes,geocodingResults.intermediates.intermediateWaypointRequestIndex' \ 'https://routes.googleapis.com/directions/v2:computeRoutes'
L'API Routes indexe les points de cheminement intermédiaires fournis dans la requête, en commençant par 0. Exemple :
0 {"address": "Barossa+Valley,SA"}, 1 {"address": "Clare,SA"}, 2 {"address": "Coonawarrav,SA"}, 3 {"address": "McLaren+Vale,SA"}
À l'aide des numéros d'index des quatre points de cheminement fournis dans la requête, le service renvoie ensuite l'ordre optimisé :
"optimizedIntermediateWaypointIndex": [ 3, 2, 0, 1 ]