当前位置:   article > 正文

基于Leaflet的轨迹模拟回放

基于Leaflet的轨迹模拟回放

在gis场景中,轨迹回放是一个很常见的场景。比如在导航软件中,在行程结束后根据运动轨迹生成运动图,在keep软件中,会自动记录用户的锻炼轨迹,在结束后可以看到自己的运动轨迹等等。这些需求都是设备在运行中自动记录相应的点,在结合gis模拟即可。本文将采用Leaflet进行模拟轨迹回放。

 

环境:

1、leaflet.js

2、MovingMarker.js 插件

一、创建地图

  1. // initialize the map on the "map" div with a given center and zoom
  2. var map = new L.Map('map', {
  3. zoom: 6,
  4. minZoom: 3,
  5. });
  6. // create a new tile layer
  7. var tileUrl = 'http://localhost:8086/data/basemap_water/{z}/{x}/{y}.png',
  8. layer = new L.TileLayer(tileUrl,
  9. {
  10. attribution: 'Maps © <a href=\"www.openstreetmap.org/copyright\">OpenStreetMap</a> contributors',
  11. maxZoom: 18
  12. });
  13. // add the layer to the map
  14. map.addLayer(layer);

二、设置行为轨迹

  1. var parisKievLL = [[28.8567, 112.3508], [30.45, 130.523333]];
  2. var londonParisRomeBerlinBucarest = [[31.507222, 110.1275], [28.8567, 112.3508],
  3. [31.9, 112.5], [31.516667, 113.383333], [31.4166,126.1]];
  4. var londonBrusselFrankfurtAmsterdamLondon = [[21.507222, 110.1275], [30.85, 114.35],
  5. [30.116667, 118.683333], [22.366667, 114.9], [31.507222, 110.1275]];
  6. var barcelonePerpignanPauBordeauxMarseilleMonaco = [
  7. [21.385064, 112.173403],
  8. [23.698611, 114.895556],
  9. [24.3017, 114.3686],
  10. [34.837912, 115.579541],
  11. [33.296346, 116.369889],
  12. [35.738418, 116.424616]
  13. ];
  14. map.fitBounds(londonParisRomeBerlinBucarest);

三、设置运动的marker

  1. var marker1 = L.Marker.movingMarker(parisKievLL, [10000]).addTo(map);
  2. L.polyline(parisKievLL).addTo(map);
  3. marker1.once('click', function () {
  4. marker1.start();
  5. marker1.closePopup();
  6. marker1.unbindPopup();
  7. marker1.on('click', function() {
  8. if (marker1.isRunning()) {
  9. marker1.pause();
  10. } else {
  11. marker1.start();
  12. }
  13. });
  14. setTimeout(function() {
  15. marker1.bindPopup('<b>点我暂停 !</b>').openPopup();
  16. }, 2000);
  17. });
  18. marker1.bindPopup('<b>点我开始!</b>', {closeOnClick: false});
  19. marker1.openPopup();

四、效果如下所示:

图片

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家自动化/article/detail/515376
推荐阅读
相关标签
  

闽ICP备14008679号