如何通过OSRM获取严格遵循途经点顺序的折线路径?
获取OSRM严格遵循途经点顺序的路径折线
要解决OSRM自动重排途经点的问题,核心是选对API服务并正确构造请求:
放弃
trip服务,改用route服务
OSRM的trip服务设计目标是优化途经点顺序以生成最优路径,所以会自动重排你的途经点。而route服务则严格按照你传入的途经点顺序规划路径,完全不会调整顺序。正确构造请求参数
- 基础请求格式:
/v1/{profile}/{coordinates}profile:选择出行方式,比如driving、walking、cyclingcoordinates:按你需要的途经点顺序依次拼接,格式为经度1,纬度1;经度2,纬度2;经度3,纬度3...
- 指定返回几何格式:添加
geometries=polyline(或geojson,根据你的需求选择) - 可选参数:
steps=false,如果不需要分步导航信息可以添加以简化返回内容
示例请求:
curl "http://router.project-osrm.org/route/v1/driving/13.388860,52.517037;13.397634,52.529407;13.428555,52.523219?geometries=polyline&steps=false"- 基础请求格式:
确认返回结果
返回数据的routes[0].geometry字段就是严格遵循你传入的途经点顺序生成的路径折线,途经点的访问顺序完全与你输入的坐标序列一致。
内容的提问来源于stack exchange,提问作者edadma
相关产品推荐
相关产品推荐

