Per impostazione predefinita, il metodo Compute Routes
dell'API Routes calcola un percorso con 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 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 del percorso abbia
viaimpostato sutrue, ad esempio{"address": "Clare,SA", "via": true}. Per saperne di più sui waypoint intermedi, vedi Specifica i waypoint intermedi.Assicurati che
routing_preferencenon sia impostato suTRAFFIC_AWARE_OPTIMAL.Imposta
optimize_waypoint_ordersutrue. Ad esempio:"optimizeWaypointOrder": "true",
Specifica il campo
routes.optimizedIntermediateWaypointIndexnella 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 delle tappe di un percorso:
Indicizza automaticamente i waypoint in base all'ordine in cui li fornisci nella richiesta, a partire da 0.
Ottimizza l'ordine dei waypoint utilizzando i numeri di indice assegnati ai waypoint 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 i quattro waypoint forniti nella richiesta, il servizio restituisce l'ordine ottimizzato:
"optimizedIntermediateWaypointIndex": [ 3, 2, 0, 1 ]