中間地点の設定

欧州経済領域(EEA)のデベロッパー

中間地点は、出発地と目的地の間に指定する地点で、ルートが通過する場所です。

REST computeRoutes メソッドまたは gRPC ComputeRoutes メソッドの intermediates 配列プロパティを使用すると、1 つのリクエストで最大 25 個の中間地点を定義できます。

経由地と通過地点

中間ウェイポイントは、停止地点または通過地点として構成できます。

  • 経由地: デフォルトでは、車両はこの場所に停車します。経由地の各ウェイポイントは、レスポンスの legs 配列に RouteLeg エントリを追加してルートを分割します。詳細については、ルートに沿って停車地を設定するをご覧ください。
  • "via"true に設定された通過ウェイポイント: 車両は停止せずにその場所を通過します。通過地点は legs 配列にエントリを追加しません。詳細については、ルートが通過するポイントを設定するをご覧ください。

ルートの区間と中間ウェイポイント

リクエストの中間経由地ごとに、レスポンスの routes.legs 配列に個別の RouteLeg オブジェクトが含まれます。

たとえば、出発地、1 つの中間経由地、目的地のルートには、2 つのルート区間が含まれます。 * 区間 1: 出発地から中間経由地まで。 * レグ 2: 中間地点から目的地まで。

例: 中間経由地を含むリクエスト

次の例では、intermediates 配列を使用して、ルートに 1 つの中間経由地を追加しています。

curl -X POST -d '{
  "origin":{
    "location":{
      "latLng":{
        "latitude": 37.419734,
        "longitude": -122.0827784
      }
    }
  },
  "destination":{
    "location":{
      "latLng":{
        "latitude": 37.417670,
        "longitude": -122.079595
      }
    }
  },
  "intermediates": [
    {
      "location":{
        "latLng":{
          "latitude": 37.419734,
          "longitude": -122.0807784
        }
      }
    }
  ],
  "travelMode": "DRIVE"
}' \
-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'

複数のルート区間を含むレスポンス

リクエストの中間地点は "via": true を設定しない立ち寄り地点であるため、レスポンスではルートが legs 配列の 2 つの区間に分割されます。

{
  "routes": [
    {
      "distanceMeters": 805,
      "duration": "248s",
      "legs": [
        {
          "distanceMeters": 207,
          "duration": "89s",
          "startLocation": {
            "latLng": {
              "latitude": 37.4197318,
              "longitude": -122.0826233
            }
          },
          "endLocation": {
            "latLng": {
              "latitude": 37.419734,
              "longitude": -122.0807792
            }
          }
        },
        {
          "distanceMeters": 598,
          "duration": "159s",
          "startLocation": {
            "latLng": {
              "latitude": 37.419734,
              "longitude": -122.0807792
            }
          },
          "endLocation": {
            "latLng": {
              "latitude": 37.4176166,
              "longitude": -122.0793882
            }
          }
        }
      ]
    }
  ]
}