Routes API 目前处于预览版阶段(正式发布前)。正式发布前产品和功能的支持可能有限,并且对正式发布前产品和功能的变更可能与其他正式发布前版本不兼容。正式发布预备产品受 Google Maps Platform 服务专用条款的约束。如需了解详情,请参阅发布阶段说明

计算通行费

计算路线或路线矩阵时,您可能需要考虑路线上的所有通行费。对于部分城市,您可以使用适当的币种计算路线的预估费用。

请参阅下文中的支持的收费地点列表。

如何计算通行费

Routes API 考虑到了司机或车辆可用的任何通行费折扣或卡券以及最便捷的付款方式,可估算估算通行费。如果指定路线没有通行费,Routes API 会显示存在不明费用的收费。

为了准确计算通行费信息,Routes API 提供了用于指定以下各项的选项:

  • 用于路线的车辆的排放类型 (VehicleEmissionType)。如果未提供排放类型,则返回汽油燃料车辆的通行费。
  • 可能适用于司机或车辆的所有通行卡 (TollPass)。如果未指定任何通行卡,则 API 会返回现金价格。
  • avoidTolls RouteModifier,以免收费路段。

使用通行卡计算通行费

在某些地区,具有通行卡的司机或车辆支付的通行卡与没有通行卡的有所不同。例如,如果您有位于美国华盛顿州西雅图的 Good To Go! 通行证,则所支付的通行费会比没有通行证时低。

某些地区(例如印度尼西亚)的道路需要收费通行证。如果没有为需要通行卡的路由指定通行卡,则不会返回任何价格。

如果您在请求中指定通行费,该 API 会尝试返回卡券价格:

  • 如果您指定了无效的通行卡,系统将忽略此卡券。

  • 您可以将多个通行卡指定为一个数组。该 API 会尝试计算每张卡券的卡券价格。

计算路线的通行费

以下示例使用 computeRoutes 方法,以便在使用通行卡时返回包含估算价格的通行信息。

使用请求的 routeModifiers 字段指定车辆类型和通行卡类型。返回的通行费基于指定车辆类型和通行证使用的价格。如果指定了多个卡券,系统会返回费用最低的价格。

请求收费信息

curl -X POST -d '{
  "origin":{
    "location":{
      "latLng":{
        "latitude":42.340173523716736,
        "longitude":-71.05997968330408
      }
    }
  },
  "destination":{
    "location":{
      "latLng":{
        "latitude":42.075698891472804,
        "longitude": -72.59806562080408
      }
    }
  },
  "travelMode": "DRIVE",
  "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.travelAdvisory.tollInfo 字段可返回整个路线的信息,设置 routes.legs.travelAdvisory.tollInfo 可返回每条路程的信息。

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

计算路线矩阵的通行费

以下示例使用 computeRouteMatrix 方法,以便在使用通行卡时,返回包含估算价格的路线的收费信息。

使用请求的 routeModifiers 字段指定车辆类型和通行卡类型。返回的通行费基于指定车辆类型和通行证使用的价格。如果指定了多个卡券,系统会返回费用最低的价格。

请求路由矩阵通行费信息

curl -X POST -d '{
"origins": [
  {
    "waypoint": {
      "location": {
        "latLng": {
          "latitude":42.340173523716736,
          "longitude":-71.05997968330408
        }
      }
    },
    "routeModifiers": {
      "vehicleInfo":{
        "emissionType": "GASOLINE"
      },
      "tollPasses": [
        "US_MA_EZPASSMA",
        "US_WA_GOOD_TO_GO"
      ]
    }
  }
],
"destinations": [
  {
    "waypoint": {
      "location": {
        "latLng": {
          "latitude":42.075698891472804,
          "longitude": -72.59806562080408
        }
      }
    }
  }
],
"travelMode": "DRIVE",
"routingPreference": "TRAFFIC_AWARE"
}'
-H 'Content-Type: application/json'
-H 'X-Goog-Api-Key: YOUR_API_KEY'
-H 'X-Goog-FieldMask: originIndex,destinationIndex,travel_advisory.tollInfo,duration,distanceMeters,status' 'https://routes.googleapis.com/distanceMatrix/v2:computeRouteMatrix'

对路线矩阵通行费信息的响应

响应包含 TollInfo (REST) 或 TollInfo (gRPC) 对象中的收费信息。

如需配置该方法以返回通行费信息,请使用响应字段掩码来设置掩码中的 travelAdvisory.tollInfo 字段。

[
  {
    "originIndex": 0,
    "destinationIndex": 0,
    "status": {},
    "distanceMeters": 150338,
    "duration": "5382s",
    "travelAdvisory": {
      "tollInfo": {
        "estimatedPrice": [
          {
            "currencyCode": "USD",
            "units": "4",
            "nanos": 400000000
           }
        ]
      }
    }
  }
]

支持的收费位置

我们目前提供以下位置的收费信息:

地区代码国家/地区州/城市/收费路段
AR 阿根廷 布宜诺斯艾利斯
澳大利亚 澳大利亚 布里斯班
澳大利亚 澳大利亚 悉尼
巴西 巴西 全国
ID 印度尼西亚 全国
印度 印度 全国
MX 墨西哥 墨西哥城
美国 美国 亚拉巴马
美国 美国 阿拉斯加
美国 美国 加利福尼亚
美国 美国 科罗拉多
美国 美国 特拉华
美国 美国 佛罗里达
美国 美国 伊利诺伊
美国 美国 爱荷华
美国 美国 印第安纳
美国 美国 堪萨斯
美国 美国 路易斯安那
美国 美国 缅因
美国 美国 马里兰
美国 美国 马萨诸塞
美国 美国 密歇根
美国 美国 明尼苏达
美国 美国 密苏里
美国 美国 新罕布什尔
美国 美国 新泽西
美国 美国 纽约
美国 美国 北卡罗来纳
美国 美国 俄亥俄
美国 美国 宾夕法尼亚
美国 美国 罗得岛
美国 美国 南卡罗来纳
美国 美国 得克萨斯
美国 美国 犹他
美国 美国 弗吉尼亚
美国 美国 华盛顿
美国 美国 西弗吉尼亚

随着收费数据越来越多,此信息将更新。