Standardmäßig berechnet die Compute Routes-Methode der Routes API eine Route über mehrere Zwischenstopps (sogenannte Stopover-Wegpunkte) in der von Ihnen angegebenen Reihenfolge.
Sie können die Routen-API die angegebene Route optimieren lassen, indem die Stopps in eine effizientere Reihenfolge gebracht werden. Bei der Optimierung von Wegpunkten wird die Fahrzeit optimiert, es werden aber auch andere Faktoren wie die Entfernung und die Anzahl der Abzweige berücksichtigt, um die effizienteste Route zu ermitteln.
Wegpunkte optimieren
- Achten Sie darauf, dass für keinen der Wegpunkte auf der Route - viaauf- truegesetzt ist, z. B.- {"address": "Clare,SA", "via": true}. Weitere Informationen zu Zwischenwegpunkten finden Sie unter Zwischenwegpunkte angeben.
- Achten Sie darauf, dass - routing_preferencenicht auf- TRAFFIC_AWARE_OPTIMALfestgelegt ist.
- Setzen Sie - optimize_waypoint_orderauf- true. Beispiel:- "optimizeWaypointOrder": "true", 
- Geben Sie das Feld - routes.optimizedIntermediateWaypointIndexin der Feldmaske an:- REST - -H X-Goog-FieldMask: routes.optimizedIntermediateWaypointIndex - RPC - const (fieldMask = "routes.optimizedIntermediateWaypointIndex") 
Optimierung der Reihenfolge von Wegpunkten
So optimiert die Routes API die Reihenfolge der Wegpunkte auf einer Route:
- Die Wegpunkte werden automatisch anhand der Reihenfolge indexiert, in der Sie sie in der Anfrage angeben, beginnend mit 0. 
- Optimiert die Reihenfolge der Wegpunkte anhand der Indexnummern, die den Wegpunkten in der Anfrage zugewiesen wurden. 
- Gibt die optimierte Wegpunktreihenfolge im - routes-Objekt im Feld- waypoint_orderunter- routes.optimizedIntermediateWaypointIndexzurück.
Beispiel
Bei dieser Anfrage wird die Optimierung einer Route von Adelaide, South Australia, zu jeder der wichtigsten Weinregionen von South Australia und dann zurück nach Adelaide angefordert.
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'
Die Routes API indexiert die in der Anfrage angegebenen Wegpunkte ab 0. Beispiel:
0 {"address": "Barossa+Valley,SA"}, 1 {"address": "Clare,SA"}, 2 {"address": "Coonawarrav,SA"}, 3 {"address": "McLaren+Vale,SA"}
Anhand der Indexnummern für die vier in der Anfrage angegebenen Wegpunkte gibt der Dienst dann die optimierte Reihenfolge zurück:
"optimizedIntermediateWaypointIndex": [ 3, 2, 0, 1 ]