2

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

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

我想将此生成的数据显示为在 Leaflet 驱动的 Openstreet 地图上行驶的实际路线。我天真的方法是显示一条连接所有点的折线。但我想显示驾驶时遵循的实际路线。我可以为此使用带有传单路由机器插件的OSRM-Backend API吗?任何帮助都感激不尽。

4

1 回答 1

3

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

  1. 响应包含tracepointsandmatchings而不是waypointsandroutes
  2. 数组中的对象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));
于 2016-05-20T17:10:20.533 回答