Mit der Methode Compute Routes
der Routes API wird standardmäßig eine Route mit mehreren Haltestellen, sogenannten Wegpunkten mit Aufenthalten, in der von Ihnen angegebenen Reihenfolge berechnet.
Die Routes API kann die angegebene Route optimieren, indem Sie Haltestellen in eine effizientere Reihenfolge bringen. Bei der Wegpunktoptimierung wird die Reisezeit optimiert, allerdings werden bei der Entscheidung, welche Route die effizienteste ist, auch andere Faktoren wie Entfernung und Anzahl der Abzweigungen berücksichtigt.
Wegpunkte optimieren
Achten Sie darauf, dass für keinen der Wegpunkte in der Route
via
auftrue
gesetzt ist, 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")
Informationen zur Optimierung der Wegpunktreihenfolge
So optimiert die Routes API die Reihenfolge der Wegpunkte in einer Route:
Indexiert die Wegpunkte automatisch anhand der Reihenfolge, die Sie in der Anfrage angegeben haben, 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 Feldwaypoint_order
unterroutes.optimizedIntermediateWaypointIndex
zurück.
Beispiel
Mit diesem Ersuchen soll eine Optimierung einer Route von Adelaide in Südaustralien in jede der wichtigsten Weinregionen Südaustraliens und die Rückkehr nach Adelaide angefordert werden.
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 Wegpunkte in der Anfrage, 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 Wegpunkte in der Anfrage gibt der Dienst dann die optimierte Reihenfolge zurück:
"optimizedIntermediateWaypointIndex": [ 3, 2, 0, 1 ]