Per impostazione predefinita, il metodo Compute Routes
dell'API Routes calcola un itinerario attraverso più fermate, chiamate waypoint di sosta, nell'ordine in cui le fornisci.
Puoi chiedere all'API Routes di ottimizzare l'itinerario fornito riorganizzando le soste in un ordine più efficiente. L'ottimizzazione delle tappe non solo ottimizza il tempo di percorrenza, ma prende in considerazione anche altri fattori, come la distanza e il numero di svolte, per decidere quale percorso è il più efficiente.
Per ottimizzare i waypoint
Assicurati che nessuno dei waypoint della route abbia
via
impostato sutrue
, ad esempio:{"address": "Clare,SA", "via": true}
. Per saperne di più sui waypoint intermedi, consulta Specificare i waypoint intermedi.Assicurati che
routing_preference
non sia impostato suTRAFFIC_AWARE_OPTIMAL
.Imposta
optimize_waypoint_order
sutrue
. Ad esempio:"optimizeWaypointOrder": "true",
Specifica il campo
routes.optimizedIntermediateWaypointIndex
nella maschera del campo:REST
-H X-Goog-FieldMask: routes.optimizedIntermediateWaypointIndex
RPC
const (fieldMask = "routes.optimizedIntermediateWaypointIndex")
Comprendere come viene ottimizzato l'ordine dei waypoint
Ecco come l'API Routes ottimizza l'ordine dei waypoint in un percorso:
Indicizza automaticamente i waypoint in base all'ordine in cui li fornisci nella richiesta, a partire da 0.
Ottimizza l'ordine delle tappe utilizzando i numeri di indice assegnati alle tappe nella richiesta.
Restituisce l'ordine ottimizzato dei waypoint nell'oggetto
routes
, nel campowaypoint_order
, inroutes.optimizedIntermediateWaypointIndex
.
Esempio
Questa richiesta chiede l'ottimizzazione di un itinerario da Adelaide, Australia del Sud, a ciascuna delle principali regioni vinicole dell'Australia del Sud e poi il ritorno ad Adelaide.
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 indicizza i waypoint intermedi forniti nella richiesta, a partire da 0. Ad esempio:
0 {"address": "Barossa+Valley,SA"}, 1 {"address": "Clare,SA"}, 2 {"address": "Coonawarrav,SA"}, 3 {"address": "McLaren+Vale,SA"}
Utilizzando i numeri di indice per le quattro tappe fornite nella richiesta, il servizio restituisce l'ordine ottimizzato:
"optimizedIntermediateWaypointIndex": [ 3, 2, 0, 1 ]