Per impostazione predefinita, il metodo Compute Routes
dell'API Routes calcola un percorso 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 tappe in un ordine più efficiente. L'ottimizzazione delle tappe non solo ottimizza il tempo di viaggio, 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 - viaimpostato su- true, ad esempio:- {"address": "Clare,SA", "via": true}. Per saperne di più sui waypoint intermedi, consulta Specificare i waypoint intermedi.
- Assicurati che - routing_preferencenon sia impostato su- TRAFFIC_AWARE_OPTIMAL.
- Imposta - optimize_waypoint_ordersu- true. 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 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 campo- waypoint_order, in- routes.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 ]