計算路徑或路徑矩陣時 不妨考慮航線的任何收費 針對特定城市,您可以使用適當的幣別計算路線的預估通行費。
如要取得路線矩形的通行費,請參閱「計算路線矩形的通行費」。
如需支援的收費站地點清單,請參閱 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 } ] } } } ] }