在计算路线或路线矩阵时, 您可能需要将路线上的通行费考虑在内。 对于部分城市,您可以计算 路线通行费(以相应货币计算)。
要获取路线矩阵的收费站,请参阅 计算路线矩阵的通行费。
有关支持的收费位置的列表,请参阅 TollPass。
如何计算通行费
Routes API 会考虑驾驶员或车辆可用的所有收费折扣或卡券,以及最方便的付款方式,计算出估算的过路费。如果指定路线没有可用的通行费, Routes API 会指明存在收费站 费用未知。
要获得准确的通行费估算值,请确保包含以下信息 :
- 用于行驶相应路线的车辆的排放类型 (
VehicleEmissionType
)。如果未提供排放类型,系统会返回汽油车的过路费。 - 车辆和司机拥有的所有收费卡
(
TollPass
).该 API 使用 通行证以确定准确的通行费,并退还现金价 当请求中的收费卡不是路线本地时发送。 - 根据需要指定避开收费站。如果您想避开收费路段
可以添加
avoidTolls
作为RouteModifier
。
使用通行卡计算通行费
如需使用通行卡计算通行费,请在 请求。然后,该 API 会返回传递价格。
如果您指定的过路卡无效,系统会忽略该过路卡。
如果以数组的形式指定多个通行卡,API 会尝试 计算每张卡券的价格。
通行卡的运作方式可能因地区而异。
使用通行卡时费率可能会较低:在某些地区,司机或车辆 通行证的收费标准不同。 例如,如果您有一个 大功告成! 美国华盛顿州西雅图市的通行费,相比不申请通行费, 通过。
有些道路可能需要收费卡:有些地区(如印度尼西亚) 要求通行费的公路。如果您没有为某次航班指定通行卡, 需要通行卡的路线,则该 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 } ] } } } ] }