如何在传单中使用OSRM match api绘制路线?
How to use OSRM match api in leaflet to draw a route?
我在驾车过程中有一些 GPS 生成的数据。
var routeArr = [{lng1, lat1}, {lng2,lat2}, {lng3, lat3}.....];
我想将此生成的数据显示为在 Leaflet 支持的 Openstreet 地图上行驶的实际路线。
我天真的方法是显示一条连接所有点的折线。但我想展示驾驶时遵循的实际路线。
我可以将 OSRM-Backend API 与 leaflet-routing-machine 插件一起使用吗?
任何帮助将不胜感激。
遗憾的是,由于 API 的工作方式略有不同,因此无法将其与 LRM 一起使用。
- 响应包含
tracepoints
和 matchings
而不是 waypoints
和 routes
matchings
数组中的对象类似于 Route
对象,但它表示可以匹配的 gps 跟踪部分,而不是像路线插件中那样的替代路线。
在地图上部署它的最简单方法是运行查询:
http://router.project-osrm.org/match/v1/driving/{lon,lat};{lon,lat};...?overview=full
然后使用 https://github.com/mapbox/polyline 和以下代码片段在地图上添加几何图形:
var polyline = require('polyline');
/* fetch the URL and save JSON in response */
response.matchings.map((m) => L.polyline(polyline.decode(m.geometry)).addTo(map));
我在驾车过程中有一些 GPS 生成的数据。
var routeArr = [{lng1, lat1}, {lng2,lat2}, {lng3, lat3}.....];
我想将此生成的数据显示为在 Leaflet 支持的 Openstreet 地图上行驶的实际路线。 我天真的方法是显示一条连接所有点的折线。但我想展示驾驶时遵循的实际路线。 我可以将 OSRM-Backend API 与 leaflet-routing-machine 插件一起使用吗? 任何帮助将不胜感激。
遗憾的是,由于 API 的工作方式略有不同,因此无法将其与 LRM 一起使用。
- 响应包含
tracepoints
和matchings
而不是waypoints
和routes
matchings
数组中的对象类似于Route
对象,但它表示可以匹配的 gps 跟踪部分,而不是像路线插件中那样的替代路线。
在地图上部署它的最简单方法是运行查询:
http://router.project-osrm.org/match/v1/driving/{lon,lat};{lon,lat};...?overview=full
然后使用 https://github.com/mapbox/polyline 和以下代码片段在地图上添加几何图形:
var polyline = require('polyline');
/* fetch the URL and save JSON in response */
response.matchings.map((m) => L.polyline(polyline.decode(m.geometry)).addTo(map));