Wegpunkte in der Ferne festlegen

Mittlere Wegpunkte sind Orte zwischen Start- und Zielort, durch die die Route gehen soll. Ein Zwischenwegpunkt kann eine Haltestelle sein oder Sie können ihn als zu passierenden Ort angeben. 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 Punkt für eine Route zum Durchgang festlegen.

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

Für jeden Zwischen-Wegpunkt in der Anfrage fügt das Routenobjekt (REST) oder das Routenobjekt (gRPC) in der Antwort einen Eintrag zum legs-Array 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.

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 eine Antwortfeldmaske im Header X-Goog-FieldMask verwendet, mit der 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 Streckenabschnitts wird durch ein Objekt vom Typ 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": [
                {
                  ...