計算路線的通行費

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

計算路線或路線矩陣時,您可能需要考量路線上的任何通行費。在特定城市,你可以計算路線的預估通行費,並以適當幣別顯示。

如要取得路徑矩陣的通行費,請參閱「計算路徑矩陣的通行費」。

如需支援的收費站位置清單,請參閱「TollPass」的參考資料。

如何計算過路費

Routes API 會計算預估通行費,並考量駕駛人或車輛可用的通行費折扣或通行證,以及最方便的付款方式。如果特定路線沒有可用的過路費,Routes API 會指出有過路費,但費用不明。

如要取得準確的預估通行費,請務必在要求中提供下列資訊:

  • 路線使用的車輛排放類型 (VehicleEmissionType)。 如果未提供排放類型,系統會傳回汽油車的通行費。
  • 車輛和駕駛人擁有的所有收費證 (使用 TollPass)。API 會使用收費證判斷準確的通行費,並在要求中的收費證不適用於路線時,傳回現金價格。
  • 視需要指定避開收費路段。如要盡可能避開收費道路,請新增 avoidTolls 做為 RouteModifier

使用電子收費卡計算通行費

如要使用收費證計算通行費,請在要求中指定任何收費證。API 隨後會傳回票證價格。

  • 如果指定無效的電子道路通行證,系統會忽略該通行證。

  • 如果以陣列形式指定多個收費證,API 會嘗試計算每個收費證的路線價格。

各區域的電子收費單據運作方式可能有所不同。

  • 使用道路通行證可享較低費率:在部分地區,有道路通行證的駕駛人或車輛,支付的道路通行費與沒有通行證者不同。舉例來說,如果你在美國華盛頓州西雅圖使用 Good To Go! 通行證,支付的通行費會比沒有通行證時低。

  • 部分道路可能需要通行證:在印尼等部分地區,有些道路需要通行證才能行駛。如果路線需要收費證,但您未指定收費證,API 就不會傳回通行費價格。

計算路線的通行費

以下範例使用 computeRoutes 方法,在使用者使用收費路段通行證時,傳回收費資訊和預估價格。在本範例中,您會:

  • extraComputations 陣列欄位設為 TOLLS,即可啟用收費資訊的計算功能。

  • 請使用要求的 routeModifiers 欄位,指定車輛類型和收費證類型。系統會根據指定車輛類型和通行證的價格,傳回通行費。如果指定多張票證,系統會傳回最便宜的價格。

  • 使用回應欄位遮罩設定方法,在回應中傳回收費資訊。在本例中,要求在回應欄位遮罩中包含下列屬性:

    • 欄位,即可傳回整條路線的資訊。routes.travelAdvisory.tollInfo

    • routes.legs.travelAdvisory.tollInfo,傳回每個路段的資訊。

要求提供收費資訊

curl -X POST -d '{
  "origin":{
    "location":{
      "latLng":{
        "latitude":42.340173523716736,
        "longitude":-71.05997968330408
      }
    }
  },
  "destination":{
    "location":{
      "latLng":{
        "latitude":42.075698891472804,
        "longitude": -72.59806562080408
      }
    }
  },
  "travelMode": "DRIVE",
  "extraComputations": ["TOLLS"],
  "routeModifiers":{
    "vehicleInfo":{
      "emissionType": "GASOLINE"
    },
    "tollPasses": [
      "US_MA_EZPASSMA",
      "US_WA_GOOD_TO_GO"
    ]
  }
}' \
-H 'Content-Type: application/json' \
-H 'X-Goog-Api-Key: YOUR_API_KEY' \
-H 'X-Goog-FieldMask: routes.duration,routes.distanceMeters,routes.travelAdvisory.tollInfo,routes.legs.travelAdvisory.tollInfo' \
'https://routes.googleapis.com/directions/v2:computeRoutes'

包含收費資訊的回應

回應會包含 TollInfo (REST) 或 TollInfo (gRPC) 物件中的通行費資訊。在這個範例中,您會傳回整條路線和路線中每個路段的收費資訊。

{
  "routes": [
    {
      "legs": [
        {
          "travelAdvisory": {
            "tollInfo": {
              "estimatedPrice": [
                {
                  "currencyCode": "USD",
                  "units": "4",
                  "nanos": 400000000
                }
              ]
            }
          }
        }
      ],
      "distanceMeters": 150338,
      "duration": "6650s",
      "travelAdvisory": {
        "tollInfo": {
          "estimatedPrice": [
            {
              "currencyCode": "USD",
              "units": "4",
              "nanos": 400000000
            }
          ]
        }
      }
    }
  ]
}