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

如何通过MapBox Directions API查询距离最优路线?

如何在MapBox Directions API中获取距离最优路线?

嘿,我来帮你搞定这个问题!你当前用的是mapbox/driving-traffic路线配置,这个配置默认是基于实时交通优先优化时长的,所以要拿到距离最优的路线,确实需要调整请求参数,具体操作如下:

1. 切换更合适的路线配置

driving-traffic是专为实时交通时长优化设计的,如果你优先考虑距离,建议改用mapbox/driving配置——它基于历史交通数据计算路线,更容易得到距离更短的选项(当然你也可以继续用driving-traffic,但结果会更偏向时长优先)。

2. 组合参数引导返回距离最优路线

MapBox Directions API没有直接的“distance-optimized”开关,但你可以通过以下参数组合来让API返回更偏向距离的路线:

  • 保留alternatives=true:让API返回多条备选路线,方便你从中筛选距离最短的那条
  • 添加annotations=distance:明确要求API返回每条路线的距离数据,便于对比筛选
  • 可选:添加exclude=motorway(按需使用):排除高速公路,通常会得到更短距离的市区路线(但耗时可能更长)

修改后的请求示例

把你的请求链接调整成这样:

https://api.mapbox.com/directions/v5/mapbox/driving/23.13367%2C60.384991%3B24.823957%2C60.634221.json?geometries=polyline&alternatives=true&steps=true&overview=full&annotations=distance&access_token=[mykey]

筛选距离最优路线的方法

API返回的routes数组里,每个路线对象都包含distance字段(单位:米),你只需要遍历数组,找到distance值最小的那条,就是距离最优的路线啦。

补充说明

如果一定要用driving-traffic配置,也可以保留它,加上annotations=distance和alternatives=true,再从返回结果里筛选距离最短的路线——只是这个配置优先考虑实时交通时长,可能返回的备选路线中距离最优的选项会比较少。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.29 08:12:39