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'escale, dans l'ordre que vous leur attribuez.
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 tient également compte d'autres facteurs tels que la distance et le nombre de bifurcations pour déterminer quel itinéraire est le plus efficace.
Pour optimiser les points de cheminement
Assurez-vous que
via
n'est pas défini surtrue
pour aucun des points de cheminement de l'itinéraire (par exemple,{"address": "Clare,SA", "via": true}
). Pour en savoir plus sur les points de cheminement intermédiaires, consultez la section Spécifier des points de cheminement intermédiaires.Assurez-vous que
routing_preference
n'est pas défini surTRAFFIC_AWARE_OPTIMAL
.Définissez
optimize_waypoint_order
surtrue
. Exemple :"optimizeWaypointOrder": "true",
Spécifiez le champ
routes.optimizedIntermediateWaypointIndex
dans le masque de champ :REST
-H X-Goog-FieldMask: routes.optimizedIntermediateWaypointIndex
RPC
const (fieldMask = "routes.optimizedIntermediateWaypointIndex")
Découvrez comment optimiser l'ordre des points de cheminement
Voici comment l'API Routes optimise l'ordre des points de cheminement dans un itinéraire :
Indexe automatiquement les points de cheminement en fonction de l'ordre que vous leur attribuez dans la requête, en commençant par 0.
Optimise l'ordre des points de cheminement à l'aide des numéros d'index qu'il leur a attribués dans la requête.
Renvoie l'ordre des points de cheminement optimisés dans l'objet
routes
, dans le champwaypoint_order
, sousroutes.optimizedIntermediateWaypointIndex
.
Exemple
Cette demande porte sur l'optimisation d'un itinéraire depuis Adélaïde, en Australie-Méridionale, vers chacune des principales régions viticoles d'Australie-Méridionale, avant de retourner à 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, à partir de 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 ]