2

ドライブ中にGPSで生成されたデータがいくつかあります。

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

この生成されたデータを、リーフレットを利用した Openstreet マップ上を移動した実際のルートとして表示したいと考えています。私の素朴なアプローチは、すべてのポイントを結ぶポリラインを表示することです。しかし、運転中にたどった実際のルートを表示したい。これにはOSRM-Backend APIを leaflet-routing-machine プラグインで使用できますか? どんな助けでも大歓迎です。

4

1 に答える 1

3

残念ながら、API の動作がわずかに異なるため、LRM でこれを使用するドロップイン方法はありません。

  1. 応答にはtracepointsandmatchingsの代わりにwaypointsandが含まれていますroutes
  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 に答える