You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Android端Google Maps Directions API高速路段识别方案问询

解决Google Maps Directions API判断收费高速路段的问题

我刚好之前做过类似的需求,给你几个可行的方案:

方案一:利用Directions API自带的toll_info字段

你现在的响应里没看到这个字段,大概率是因为当前请求的路线里没有收费路段,或者你需要确保请求时的参数设置正确:

  • 确保请求的travelMode设置为DRIVING(只有驾车路线才会返回收费相关信息)
  • 当路线中的某段是收费高速时,响应里对应的step对象会包含toll_info字段,里面会有该路段的收费类型、预估价格等信息。比如典型的toll_info结构大概是这样:
"toll_info": {
  "price": [
    {
      "currency": "USD",
      "value": 5.25
    }
  ]
}

你可以遍历每个step,检查是否存在toll_info字段,以此判断该段是否为收费路段。

方案二:结合Google Maps Roads API补充道路元数据

如果Directions API的toll_info覆盖不够全面(比如某些地区的收费路段没被标记),可以用Roads API的Get Road Metadata接口:

  • 把你解码得到的连续LatLng坐标列表,按接口要求的格式传给Roads API
  • 接口会返回对应道路的详细属性,其中包括is_toll_road字段,直接告诉你该道路是否为收费公路
  • 注意:这个方案需要额外的API调用,要关注配额和费用,同时要处理坐标点的批量请求限制(一次最多传100个点)

小提示

  • 发起Directions API请求时,加上region参数(比如region=cn针对中国地区),可以让收费信息的返回更精准,因为不同地区的收费规则差异很大
  • 如果你只是想在路径上标记收费路段,也可以直接用Android Maps SDK里的Polyline结合toll_info的判断结果,给收费路段设置不同的颜色,直观区分

内容的提问来源于stack exchange,提问作者LLL

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.19 03:14:17