中間地点の設定

中間ウェイポイントは出発地と目的地の間にある場所です 指定します。中間ウェイポイントは停車地や 通過する場所として指定できます。ウェイポイントの例は、 停車地については、経路沿いの停車地を設定するをご覧ください。たとえば、 通過地点、 通過するルートの地点を設定します

次のフィールドの intermediates 配列プロパティを使用します。 computeRoutes メソッド(REST)または ComputeRoutes 最大 25 個の中間ウェイポイントを定義します。

リクエスト内の中間ウェイポイントごとに、 ルート オブジェクト(REST)または ルール内のルート オブジェクト(gRPC) レスポンスは、エントリを legs 配列に追加して、リクエストの詳細を 始まります

ルートの各区間は、各区間の RouteLeg(REST)または RouteLeg(gRPC)オブジェクト。 返す RouteLeg フィールドを制御するには、 レスポンス フィールド マスク

例 - 中間地点を設定する

次の例では、intermediates 配列プロパティを使用して POST リクエスト本文にマッピングされます。

この例では、X-Goog-FieldMask ヘッダーでレスポンス フィールド マスクを使用しています。 レスポンスで次のフィールドを返すように指定します。

  • routes.duration
  • routes.distanceMeters
  • routes.legs: RouteLeg オブジェクト全体に対応します。
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'

この呼び出しのレスポンスには、legs 配列が含まれます。脚の各ステップは、 で表され、 RouteLegStep(REST)または RouteLegStep(gRPC)オブジェクト。

{
  "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": [
                {
                  ...