OSRM路由API使用问询:如何传入起点、终点及必经路径生成正确路由
关于OSRM步行路由API的必经路径问题
- 首先明确:你用的routed-foot是基于OSRM(Open Source Routing Machine)的服务,完全支持通过传入有序途经点来强制沿指定路径生成路由——把起点、必经点、终点按你要求的路径顺序,用分号分隔依次放在API的坐标参数里即可。
- 你当前请求的问题:
- 存在重复坐标(比如
15.898118,41.618746和15.897882,41.618745都重复出现),这会干扰路由计算,导致路径异常或步骤缺失。 - 若途经点之间的路段不在OSRM的步行路网中(比如是私人区域、无步道的空地),API会自动选择替代路线,导致不符合预期。
- 存在重复坐标(比如
- 修复建议:
- 清理重复坐标,仅保留按必经路径顺序排列的唯一坐标点,格式为
起点;途经点1;途经点2;…;终点 - 确保每个相邻坐标点都落在OSRM可识别的步行道路(人行道、步道等)上,否则API会绕路
- 检查响应的
routes[0].legs字段:启用steps=true后,每个途经点之间的路段会被拆分为一个leg,每个leg下的steps数组包含详细的方向指引(比如左转、直行多少米),如果没看到,可能是请求中重复点导致leg合并异常,清理后即可恢复。
- 清理重复坐标,仅保留按必经路径顺序排列的唯一坐标点,格式为
内容的提问来源于stack exchange,提问作者bircastri
相关产品推荐
相关产品推荐

