Per impostazione predefinita, l'API Routes Compute Routes
calcola un percorso attraverso più fermate, chiamate tappe, in
l'ordine da te fornito.
Puoi fare in modo che l'API Routes ottimizzi la route fornita riorganizzando le fermate in un ordine più efficiente. L'ottimizzazione dei waypoint viene ottimizzata per gli spostamenti tempo, ma prende in considerazione anche altri fattori come la distanza e il numero di svolte decidendo qual è il percorso più efficiente.
Ottimizzare le tappe
Assicurati che
via
non sia impostato sutrue
per nessuna tappa del percorso per esempio:{"address": "Clare,SA", "via": true}
. Per ulteriori informazioni tappe intermedie, consulta Specifica le tappe intermedie.Assicurati che
routing_preference
non sia impostato suTRAFFIC_AWARE_OPTIMAL
.Imposta
optimize_waypoint_order
sutrue
. Ad esempio:"optimizeWaypointOrder": "true",
Specifica il campo
routes.optimizedIntermediateWaypointIndex
nel campo maschera:RESTO
-H X-Goog-FieldMask: routes.optimizedIntermediateWaypointIndex
RPC
const (fieldMask = "routes.optimizedIntermediateWaypointIndex")
Comprendere come viene ottimizzato l'ordine delle tappe
Ecco come l'API Routes ottimizza l'ordine dei waypoint in un percorso:
Indicizza automaticamente le tappe in base all'ordine fornito nella richiesta, a partire da 0.
Ottimizza l'ordine delle tappe utilizzando i numeri di indice e assegnato alle tappe della richiesta.
Restituisce l'ordine dei waypoint ottimizzato nell'oggetto
routes
, nellawaypoint_order
, sottoroutes.optimizedIntermediateWaypointIndex
.
Esempio
Questa richiesta chiede l'ottimizzazione di un percorso da Adelaide, Australia Meridionale, in ognuna delle principali regioni vinicole dell'Australia meridionale, per poi tornare 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 le tappe intermedie fornite 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 i quattro waypoint forniti nella richiesta, restituisce l'ordine ottimizzato:
"optimizedIntermediateWaypointIndex": [ 3, 2, 0, 1 ]