Punkt für eine Route festlegen

Standardmäßig werden Zwischenstopps für Abhol- und Bringstellen verwendet. Sie können aber auch angeben, dass ein Zwischenstopp nur zum Durchfahren gedacht ist.

Eine Route mit einem Start-, einem Zwischen- und einem Zielwegpunkt enthält nur einen Routenabschnitt, der den Start- und den Zielort verbindet und dabei den Zwischenwegpunkt (via) passiert.

Konfigurieren Sie einen Zwischenwegpunkt als Durchgangspunkt, indem Sie Wenn Sie das Attribut via des Wegpunkts auf true setzen, verwenden Sie entweder Wegpunkt (REST) oder Wegpunkt (gRPC).

Das Attribut via ist am effektivsten, wenn Routen als Reaktion auf indem der Nutzer die Wegpunkte auf der Karte zieht. Dadurch sehen die Nutzenden, kann die endgültige Route in Echtzeit angezeigt werden. So wird sichergestellt, dass Wegpunkte an Standorten, die für Compute Routes zugänglich sind.

Das folgende Beispiel zeigt, wie ein Zwischenpunkt als Durchfahrpunkt markiert wird.

{
  "location": {
    "latLng": {
      "latitude":37.419734,
      "longitude":-122.0827784
    }
  },
  "via": true
}

Auf Orts-IDs für Wegpunkte zugreifen

Wenn Sie den Standort eines Ausgangsorts, Zielorts oder Wegpunkts angeben als Adressstring oder Plus Code enthalten, versucht die API, den relevantesten Standort mit einer entsprechenden Orts-ID. Die geocodingResults.intermediates -Array in den Ergebnissen die Orts-ID enthält, die dem Standort des sowie zusätzliche Daten zum Ort hinzufügen.

Verwenden Sie für jedes Element des Arrays intermediates die Methode intermediateWaypointRequestIndex, um festzulegen, in der Anfrage entspricht der Orts-ID in der Antwort.

Beispiel:

  • In einer Anforderung geben Sie drei Zwischenwegpunkte an. Zwei davon Wegpunkte werden durch Adress-Strings und einmal durch Breiten- und Längengrad angegeben. Koordinaten.

  • Sie fügen geocodingResults in die Antwortfeldmaske ein, um anzugeben, dass das geocodingResults-Array in den Ergebnissen zurückgegeben werden soll.

curl -X POST -d '{
  "origin":{
    "address": "1600 Amphitheatre Parkway, Mountain View, CA"
  },
  "destination":{
    "address": "24 Willie Mays Plaza, San Francisco, CA 94107"
  },
  "intermediates": [
    {
      "address": "450 Serra Mall, Stanford, CA 94305, USA"
    },
    {
      "location":{
        "latLng":{
          "latitude": 37.419734,
          "longitude": -122.0807784
        }
      }
    },
    {
      "address": "1836 El Camino Real, Redwood City, CA 94063"
    }
  ],
  "travelMode": "DRIVE",
}'
-H 'Content-Type: application/json' -H 'X-Goog-Api-Key: YOUR_API_KEY'
-H 'X-Goog-FieldMask: routes.duration,routes.distanceMeters,routes.legs,geocodingResults'
'https://routes.googleapis.com/directions/v2:computeRoutes'

Die Antwort enthält das Array geocodingResults mit der Orts-ID für Start- und Zielort und für zwei der drei Wegpunkte. Dies sind die bei den Indexen 0 und 2 der Anfrage an. Da der Wegpunkt an Index 1 der Anfrage mithilfe von Breiten-/Längengradkoordinaten angegeben wurde, wird er aus dem geocodingResults-Array in der Antwort entfernt.

{
  "routes": [{...}],
  "geocodingResults": {
    "origin": {
      "geocoderStatus": {},
      "type": [
        "premise"
      ],
      "placeId": "ChIJj38IfwK6j4ARNcyPDnEGa9g"
    },
    "destination": {
     "geocoderStatus": {},
      "type": [
        "premise"
      ],
      "placeId": "ChIJI7ES6tl_j4ARVpDZoXbWAiY"
    },
    "intermediates": [
      {
        "geocoderStatus": {},
        "intermediateWaypointRequestIndex": 0,
        "type": [
            "street_address"
        ],
        "placeId": "ChIJvdLMGyq7j4ARScE5tWX_C0Y"
      },
      {
        "geocoderStatus": {},
        "intermediateWaypointRequestIndex": 2,
        "type": [
          "premise"
        ],
        "placeId": "ChIJkTc0GKajj4AR9UMsOSHwGD0"
      }
    ]
  }
}