Wegpunkte festlegen

Wegpunkte sind Orte zwischen Start- und Zielort, die die Route durchlaufen soll. Ein Zwischenwegpunkt kann eine Haltestelle sein oder Sie können ihn als zu passierenden Standort angeben. Ein Beispiel für einen Wegpunkt für eine Haltestelle finden Sie unter Stopp entlang einer Route festlegen. Ein Beispiel für einen Wegpunkt für die Durchfahrt finden Sie unter Punkt für eine Durchfahrtsroute festlegen.

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

Für jeden Wegpunkt in der Anfrage wird vom Routenobjekt (REST) oder Routenobjekt in der Antwort ein Eintrag zum legs-Array hinzugefügt, um die Details für diesen Abschnitt der Reise anzugeben.

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

Beispiel – Wegpunkt festlegen

Im folgenden Beispiel wird das Arrayattribut intermediates verwendet, um dem POST-Anfragetext einer Route einen einzelnen Zwischenwegpunkt 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, der 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 auf diesen Aufruf enthält das Array legs. Jeder Schritt des Streckenabschnitts wird durch ein Objekt des Typs 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": [
                {
                  ...