Wegpunkte festlegen

Zwischenwegpunkte sind Orte zwischen Start- und Zielort, durch die die Route führen soll. Ein Zwischenwegpunkt kann eine Haltestelle sein oder als Wegpunkt angegeben werden. Ein Beispiel für einen Wegpunkt für einen Zwischenstopp finden Sie unter Stopp auf einer Route festlegen. Ein Beispiel für einen Wegpunkt zum Pass-Through ist unter Punkt für einen Durchgangspunkt festlegen.

Mit dem Array-Attribut intermediates der Methode computeRoutes (REST) oder der Methode ComputeRoutes (gRPC) können Sie bis zu 25 zwischenliegende Wegpunkte definieren.

Für jeden Zwischen-Wegpunkt in der Anfrage fügt das Routenobjekt (REST) oder das Routenobjekt (gRPC) in der Antwort dem legs-Array einen Eintrag hinzu, um die Details für diesen Abschnitt der Reise bereitzustellen.

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

Beispiel – Zwischenwegpunkt festlegen

Im folgenden Beispiel wird das Arrayattribut intermediates verwendet, um dem POST-Anfragetext einer Route einen einzelnen Wegpunkt hinzuzufügen.

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 für das gesamte RouteLeg-Objekt.
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 auf diesen Aufruf enthält das Array legs. Jeder Schritt des Abschnitts wird durch ein Objekt RouteLegStep (REST) oder RouteLegStep (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": [
                {
                  ...