Per impostazione predefinita, il metodo Compute Routes
dell'API Routes calcola un percorso attraverso più fermate, chiamate waypoint di sosta, nell'ordine in cui li fornisci.
Puoi chiedere all'API Routes di ottimizzare il percorso fornito riordinando le fermate in un ordine più efficiente. L'ottimizzazione dei waypoint 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 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
nella maschera del campo:RESTO
-H X-Goog-FieldMask: routes.optimizedIntermediateWaypointIndex
RPC
const (fieldMask = "routes.optimizedIntermediateWaypointIndex")
Informazioni su come viene ottimizzato l'ordine dei punti di passaggio
L'API Routes ottimizza l'ordine delle tappe di un percorso nel seguente modo:
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 richiede l'ottimizzazione di un percorso da Adelaide, Australia Meridionale, a ciascuna delle principali regioni vinicole dell'Australia Meridionale e poi di 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 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, il servizio restituisce l'ordine ottimizzato:
"optimizedIntermediateWaypointIndex": [ 3, 2, 0, 1 ]