计算路线或路线矩阵时,您可能需要考虑路线上的任何通行费。对于特定城市,您可以计算相应币种的路线预计过路费。
如需查看支持的收费站位置列表,请参阅 TollPass 的参考文档。
如何计算过路费
Routes API 会计算估计的过路费,同时考虑驾驶员或车辆可享受的任何过路费折扣或通行卡,以及最便捷的付款方式。如果特定路线没有可用的通行费价格,Routes API 会指明存在费用未知的收费站。
为获得准确的过路费估算值,请务必在请求中提供以下信息:
- 路线所用车辆的排放类型 (
VehicleEmissionType)。如果未提供排放类型,则返回汽油燃料车辆的通行费。 - 使用
tollPasses获取车辆和司机拥有的所有通行卡。 该 API 会使用通行卡来确定准确的通行费,并在请求中的通行卡不适用于相应路线时返回现金价格。 - 指定是否避开收费站(如有需要)。如果您想尽可能避开收费公路,请添加
avoidTolls作为RouteModifier。
使用通行卡计算通行费
如需使用通行卡计算通行费,请在请求中指定任何通行卡。然后,该 API 会返回季卡价格。
- 如果您指定的通行卡无效,系统会忽略该通行卡。
- 如果以数组形式指定多个通行卡,API 会尝试计算每张通行卡对应的路线价格。
通行费卡的使用方式可能因地区而异。
- 使用通行卡可享受更低的费率:在某些地区,持有通行卡的司机或车辆支付的通行费与未持有通行卡的司机或车辆不同。 例如,如果您有 Good To Go! 如果您在美国华盛顿州西雅图拥有通行卡,则支付的通行费会低于没有通行卡的情况。
- 部分道路可能需要通行卡:在印度尼西亚等部分地区,有些道路需要通行卡。如果您未为需要通行卡的路线指定通行卡,则 API 不会返回通行费。
计算路线的通行费
如需计算路线的通行费,请按以下步骤操作:
- 将
extraComputations属性设置为TOLLS。 - 使用
routeModifiers属性指定车辆类型和收费卡类型。 - 如需计算整个路线的通行费,请在请求的
fields属性中请求travelAdvisory;通过读取route.travelAdvisory.tollInfo查看整个路线的通行费信息。 - 如需计算路线中各个路段的过路费,请在请求的
fields属性中请求legs;通过读取route.legs[i].travelAdvisory.tollInfo查看每个路段的过路费信息。
示例
以下示例请求展示了如何请求路线的通行费:
const requestWithTolls = { origin: 'Kirkland, WA', destination: 'University of Washington', travelMode: 'DRIVING', extraComputations: ['TOLLS'], routeModifiers: { vehicleInfo: { emissionType: 'GASOLINE', }, tollPasses: ['US_WA_GOOD_TO_GO'], }, fields: ['path', 'legs', 'distanceMeters', 'durationMillis', 'travelAdvisory'], };