Standardmäßig berechnet die Routes API-Methode Compute Routes eine Route über mehrere Zwischenstopps in der von Ihnen angegebenen Reihenfolge.
Sie können die bereitgestellte Route von der Routes API optimieren lassen, indem die Stopps in eine effizientere Reihenfolge gebracht werden. Bei der Wegpunktoptimierung wird die Fahrzeit optimiert, aber auch andere Faktoren wie die Entfernung und die Anzahl der Abzweige werden berücksichtigt, um die effizienteste Route zu ermitteln.
Wegpunkte optimieren
Achten Sie darauf, dass für keinen der Wegpunkte auf der Route
viaauftruegesetzt ist, z. B.{"address": "Clare,SA", "via": true}. Weitere Informationen zu Zwischenwegpunkten finden Sie unter Zwischenwegpunkte angeben.Achten Sie darauf, dass
routing_preferencenicht aufTRAFFIC_AWARE_OPTIMALfestgelegt ist.Setzen Sie
optimize_waypoint_orderauftrue. 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 Wegpunktreihenfolge
So optimiert die Routes API die Reihenfolge der Wegpunkte auf einer Route:
Die Wegpunkte werden automatisch indexiert, basierend auf der Reihenfolge, 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 Feldwaypoint_orderunterroutes.optimizedIntermediateWaypointIndexzurück.
Beispiel
In dieser Anfrage wird die Optimierung einer Route von Adelaide, Südaustralien, zu jeder der wichtigsten Weinregionen von Südaustralien 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 im Antrag 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 ]