Standardmäßig berechnet die Compute Routes
-Methode der Routes API eine Route über mehrere Zwischenstopps, sogenannte Zwischenstopp-Wegpunkte, in der Reihenfolge, in der Sie sie angeben.
Die Routes API kann die angegebene Route optimieren, indem Sie die in einer effizienteren Reihenfolge angehalten werden. Wegpunktoptimierung für Reisen Dabei werden auch andere Faktoren wie die Entfernung und die Anzahl der Abzweigungen berücksichtigt, welche Route am effizientesten ist.
Wegpunkte optimieren
Für keinen der Wegpunkte der Route darf
via
auftrue
gesetzt sein, Beispiel:{"address": "Clare,SA", "via": true}
. Weitere Informationen zu Zwischenpunkten finden Sie unter Zwischenpunkte angeben.routing_preference
darf nicht aufTRAFFIC_AWARE_OPTIMAL
festgelegt sein.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 automatisch Wegpunkte basierend auf der von Ihnen angegebenen Reihenfolge in der Anfrage, beginnend mit 0.
Die Reihenfolge der Wegpunkte wird anhand der Indexnummern optimiert, die den Wegpunkten in der Anfrage zugewiesen wurden.
Gibt die optimierte Reihenfolge der Wegpunkte im
routes
-Objekt im Feldwaypoint_order
unterroutes.optimizedIntermediateWaypointIndex
zurück.
Beispiel
Bei dieser Anfrage wird die Optimierung einer Route von Adelaide, Südaustralien, zu den wichtigsten Weinregionen Südaustraliens und zurück nach Adelaide angefragt.
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 Wegpunkte aus der Anfrage, beginnend bei 0. Beispiel:
0 {"address": "Barossa+Valley,SA"}, 1 {"address": "Clare,SA"}, 2 {"address": "Coonawarrav,SA"}, 3 {"address": "McLaren+Vale,SA"}
Unter Verwendung der Indexnummern für die vier in der Anforderung angegebenen Wegpunkte wird der gibt der Dienst dann die optimierte Reihenfolge zurück:
"optimizedIntermediateWaypointIndex": [ 3, 2, 0, 1 ]