Wegpunkte festlegen

Zwischenziele sind Orte zwischen Start- und Zielort, die Sie auf der Route ansteuern möchten. Ein Zwischenwegpunkt kann eine Haltestelle sein oder Sie können ihn als Ort angeben, den Sie durchfahren möchten. Ein Beispiel für einen Wegpunkt für einen Zwischenstopp finden Sie unter Zwischenstopp entlang einer Route festlegen. Ein Beispiel für einen Wegpunkt, der durchfahren werden soll, finden Sie unter Punkt für eine Route festlegen, die durchfahren werden soll.

Verwenden Sie das Array-Attribut intermediates der Methode computeRoutes (REST) oder der Methode ComputeRoutes (gRPC), um bis zu 25 Zwischenziele zu definieren.

Für jeden Zwischenpunkt in der Anfrage wird dem legs-Array über das Routenobjekt (REST) oder das Routenobjekt (gRPC) in der Antwort ein Eintrag hinzugefügt, um die Details für diesen Abschnitt der Route anzugeben.

Jeder Abschnitt einer Route wird durch ein RouteLeg-Objekt (REST) oder ein RouteLeg-Objekt (gRPC) dargestellt. Mit der Antwortfeldmaske können Sie festlegen, welche RouteLeg-Felder zurückgegeben werden sollen.

Beispiel: Zwischenziel festlegen

Im folgenden Beispiel wird mit der Arrayeigenschaft intermediates dem POST-Anfragetext einer Route ein einzelner Zwischenpunkt hinzugefügt.

In diesem Beispiel wird im X-Goog-FieldMask-Header eine Antwortfeldmaske verwendet, die angibt, dass die folgenden Felder in der Antwort zurückgegeben werden sollen:

  • routes.duration
  • routes.distanceMeters
  • routes.legs, das dem gesamten RouteLeg-Objekt entspricht.
curl -X POST -d '{
  "origin":{
    "location":{
      "latLng":{
        "latitude": 37.419734,
        "longitude": -122.0827784
      }
    },
    "sideOfRoad": true
  },
  "destination":{
    "location":{
      "latLng":{
        "latitude": 37.417670,
        "longitude": -122.079595
      }
    }
  },
  "intermediates": [
    {
      "location":{
        "latLng":{
          "latitude": 37.419734,
          "longitude": -122.0807784
        }
      }
    }
  ],
  "travelMode": "DRIVE",
  "routingPreference": "TRAFFIC_AWARE",
  "departureTime": "2022-10-15T15:01:23.045123456Z",
  "computeAlternativeRoutes": false,
  "routeModifiers": {
    "avoidTolls": false,
    "avoidHighways": false,
    "avoidFerries": false
  },
  "languageCode": "en-US",
  "units": "IMPERIAL"
}'
-H 'Content-Type: application/json' -H 'X-Goog-Api-Key: YOUR_API_KEY'
-H 'X-Goog-FieldMask: routes.duration,routes.distanceMeters,routes.legs'
'https://routes.googleapis.com/directions/v2:computeRoutes'

Die Antwort dieses Aufrufs enthält das legs-Array. Jeder Schritt des Abschnitts wird durch ein RouteLegStep-Objekt (REST) oder ein RouteLegStep-Objekt (gRPC) dargestellt.

{
  "routes": [
    {
      "legs": [
        # First leg
        {
            "distanceMeters": 207,
            "duration": "89s",
            "staticDuration": "89s",
            "polyline": {
                "encodedPolyline": "ipkcFjgchVd@@@cF]@@oCK?"
            },
            "startLocation": {
                "latLng": {
                    "latitude": 37.4197318,
                    "longitude": -122.0826233
                }
            },
            "endLocation": {
                "latLng": {
                    "latitude": 37.419734,
                    "longitude": -122.08077919999998
                }
            },
            "steps": [            {
              "distanceMeters": 21,
              "staticDuration": "6s",
              "polyline": {
                "encodedPolyline": "ipkcFjgchVd@@"
              },
              "startLocation": {
                "latLng": {
                  "latitude": 37.4197318,
                  "longitude": -122.0826233
                }
              },
              "endLocation": {
                "latLng": {
                  "latitude": 37.41954,
                  "longitude": -122.08262750000002
                }
              }
            },
            ...
        },
        # Second leg
        {
            "distanceMeters": 598,
            "duration": "159s",
            "staticDuration": "159s",
            "polyline": {
                "encodedPolyline": "ipkcFz{bhVh@??{@xPBP?J}E{E?"
            },
            "startLocation": {
                "latLng": {
                    "latitude": 37.419734,
                    "longitude": -122.08077919999998
                }
            },
            "endLocation": {
                "latLng": {
                    "latitude": 37.417616599999995,
                    "longitude": -122.07938820000001
                }
            },
            "steps": [
                {
                  ...