Reihenfolge der Haltestellen auf der Route optimieren

Entwickler im Europäischen Wirtschaftsraum (EWR)

Standardmäßig berechnet die Compute Routes-Methode der Routes API eine Route über mehrere Zwischenstopps (sogenannte Stopover-Wegpunkte) in der Reihenfolge, in der Sie sie angeben.

Sie können die bereitgestellte Route von der Routes API 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

  1. Achten Sie darauf, dass für keinen der Wegpunkte in der Route via auf true gesetzt ist, z. B. {"address": "Clare,SA", "via": true}. Weitere Informationen zu Zwischenwegpunkten finden Sie unter Zwischenwegpunkte angeben.

  2. Achten Sie darauf, dass routing_preference nicht auf TRAFFIC_AWARE_OPTIMAL festgelegt ist.

  3. Setzen Sie optimize_waypoint_order auf true. Beispiel:

    "optimizeWaypointOrder": "true",
  4. Geben Sie das Feld routes.optimizedIntermediateWaypointIndex in der Feldmaske an:

    REST

    -H X-Goog-FieldMask: routes.optimizedIntermediateWaypointIndex

    RPC

    const (fieldMask = "routes.optimizedIntermediateWaypointIndex")

So wird die Reihenfolge der Wegpunkte optimiert

So optimiert die Routes API die Reihenfolge der Wegpunkte auf einer Route:

  1. Die Wegpunkte werden automatisch indexiert, basierend auf der Reihenfolge, in der Sie sie in der Anfrage angeben, beginnend mit 0.

  2. Optimiert die Reihenfolge der Wegpunkte anhand der Indexnummern, die den Wegpunkten in der Anfrage zugewiesen wurden.

  3. Gibt die optimierte Reihenfolge der Wegpunkte im routes-Objekt im Feld waypoint_order unter routes.optimizedIntermediateWaypointIndex zurü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
            ]