Standardmäßig wird mit der Methode Compute Routes
der Routes API eine Route über mehrere Haltestellen, sogenannte Wegpunkte mit Aufenthalt, in der Reihenfolge berechnet, in der Sie sie angeben.
Die Routes API kann die angegebene Route optimieren, indem die Haltestellen in einer effizienteren Reihenfolge neu angeordnet werden. Bei der Wegpunktoptimierung wird die Fahrtzeit optimiert. Bei der Auswahl der besten Route werden aber auch andere Faktoren wie Entfernung und Anzahl der Abzweigungen berücksichtigt.
Um Wegpunkte zu optimieren
Für keinen der Wegpunkte in der Route muss
via
auftrue
gesetzt sein, z. B.{"address": "Clare,SA", "via": true}
. Weitere Informationen zu Wegpunkten finden Sie unter Wegpunkte angeben.Achten Sie darauf, dass
routing_preference
nicht aufTRAFFIC_AWARE_OPTIMAL
festgelegt ist.Setzen Sie
optimize_waypoint_order
auftrue
. Beispiel:"optimizeWaypointOrder": "true",
Geben Sie das Feld
routes.optimizedIntermediateWaypointIndex
in der Feldmaske an:REST
-H X-Goog-FieldMask: routes.optimizedIntermediateWaypointIndex
RPC
const (fieldMask = "routes.optimizedIntermediateWaypointIndex")
Optimierung der Wegpunktreihenfolge
So optimiert die Routes API die Reihenfolge der Wegpunkte in einer Route:
Indexiert die Wegpunkte automatisch gemäß der Reihenfolge, in der Sie sie in der Anfrage angegeben haben, beginnend mit 0.
Optimiert die Reihenfolge der Wegpunkte mithilfe der Indexnummern, die den Wegpunkten in der Anfrage zugewiesen wurden.
Gibt die optimierte Wegpunktreihenfolge im
routes
-Objekt im Feldwaypoint_order
unterroutes.optimizedIntermediateWaypointIndex
zurück.
Beispiel
In dieser Anfrage wird um eine Optimierung einer Route von Adelaide, Südaustralien, zu jeder der wichtigsten Weinregionen Südaustraliens und anschließender Rückkehr nach Adelaide gebeten.
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": "Connawarra,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.optimizedIntermediateWaypointIndex' \ 'https://routes.googleapis.com/directions/v2:computeRoutes'
Die Routes API indexiert die in der Anfrage angegebenen Wegpunkte, beginnend bei 0. Beispiel:
0 {"address": "Barossa+Valley,SA"}, 1 {"address": "Clare,SA"}, 2 {"address": "Connawarra,SA"}, 3 {"address": "McLaren+Vale,SA"}
Unter Verwendung 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 ]