计算路线或路线矩阵时,您可能需要考虑路线上的所有过路费。对于部分城市,您可以计算相应路线的预计过路费(以相应币种显示)。
要获取路线矩阵的收费站,请参阅 计算路线矩阵的通行费。
有关支持的收费位置的列表,请参阅 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 } ] } } } ] }