設定中繼路線控點

歐洲經濟區 (EEA) 開發人員

中途路線控點是指起點和目的地之間的位置,您希望路線行經這些位置。

您可以使用 REST computeRoutes 方法的 intermediates 陣列屬性,或 gRPC ComputeRoutes 方法,在單一要求中定義最多 25 個中途停靠點

中途停留與直通路線控點

您可以將中途停靠點設為停靠或通過位置:

  • 中途停靠:車輛預設會停靠該地點。每個中途停靠站航點都會在回應的 legs 陣列中新增 RouteLeg 項目,藉此劃分路線。詳情請參閱「在路線上設定停靠點」。
  • 途經航點,且 "via" 設為 true:車輛會通過該地點,但不會停靠。傳遞路線控點不會在 legs 陣列中新增項目。詳情請參閱「設定路線的途經點」。

路線段和中繼路線控點

在要求中,每個中途停靠點的回應都包含 routes.legs 陣列中的個別 RouteLeg 物件。

舉例來說,如果路線包含起點、一個中途停靠點和目的地,則會包含兩條路線路段: * 路段 1:從起點到中途停靠點。 * 第 2 段:從中途停靠站到目的地。

範例:要求包含中途停靠點

以下範例使用 intermediates 陣列,在路線中新增單一中途停靠點。

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 陣列中:

{
  "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
            }
          }
        }
      ]
    }
  ]
}