javascript - 如何使用leaflet中的OSRM match api来绘制路线?

标签 javascript leaflet osrm map-matching leaflet-routing-machine

我在开车时有一些 GPS 生成的数据。

var routeArr = [{lng1, lat1}, {lng2,lat2}, {lng3, lat3}.....];

我想将生成的数据显示为在 Leaflet 支持的 Openstreet map 上实际行驶的路线。 我天真的方法是显示连接所有点的折线。但我想展示驾驶时遵循的实际路线。 我可以使用 OSRM-Backend API与传单路由机插件为此? 任何帮助将不胜感激。

最佳答案

遗憾的是,由于 API 的工作方式略有不同,因此无法将其与 LRM 一起使用。

  1. 响应包含跟踪点匹配,而不是路径点路线
  2. matchings 数组中的对象类似于 Route 对象,但它表示可以匹配的 GPS 跟踪部分,而不是像路线插件中那样的替代路线.

将其部署在 map 上的最简单方法是运行查询:

http://router.project-osrm.org/match/v1/driven/{lon,lat};{lon,lat};...?overview=full

然后使用 https://github.com/mapbox/polyline以及以下代码片段,用于在 map 上添加几何图形:

var polyline = require('polyline');

/* fetch the URL and save JSON in response */

response.matchings.map((m) => L.polyline(polyline.decode(m.geometry)).addTo(map));

关于javascript - 如何使用leaflet中的OSRM match api来绘制路线?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37345416/

相关文章:

javascript - Nuxt.js:如何使用不同URL的同一个页面,根据URL切换显示的组件

javascript - 当值在 AngularJS 之外更改时,AngularJS 指令范围不更新

angular - 错误类型错误 : a. markerClusterGroup 不是函数

javascript - OSRM WebAPI 参数中的负经度

javascript - Angular 2-再次单击routerLink时重新加载组件

javascript - NVD3图表中的JSON数据格式

html - Flexbox 布局中的传单 map

css - 使其他标记位于自定义 divIcon 弹出窗口下方,而不是位于顶部

r - 车辆从 A 到 B,然后沿着路线从 B 到 A 的动画(在 B 有一些等待时间)

algorithm - 如何使用 OSRM 计算单源最短路径?