标记移动时更新小叶routing.control

时间:2018-12-28 22:18:37

标签: leaflet

我正在使用传单和routing.control来显示路线。我的工作正常,但我希望其中一个标记可以通过watch.position与用户位置一起移动。但是现在,我只是想在单击按钮时移动标记。再次可以正常工作,但是当标记移动时,我希望路线自动更新。如果您以肯定的方式拖动标记,则可以拖动标记吗?如果删除控件并添加一个新控件,则可以,但是闪烁太多。有什么建议吗?

routing.control的代码是

myroute = L.Routing.control({
  waypoints: [
    L.latLng(window.my_lat, window.my_lng),
    L.latLng(window.job_p_lat, window.job_p_lng)
  ],show: true, units: 'imperial',
 router: L.Routing.mapbox('API KEY HERE'),
  createMarker: function(i, wp, nWps) {
    if (i === 0 || i === nWps + 1) {
      return mymarker = L.marker(wp.latLng, {
        icon: redIcon
      });
    } else {
      return job_start = L.marker(wp.latLng, {
        icon: greenIcon
      }); 
    }
  }
}).addTo(map);

并且移动标记的代码是

function movemarker() {
    var lat = "52.410490";
    var lng = "-1.575950";  
    var newLatLng = new L.LatLng(lat, lng);
    mymarker.setLatLng(newLatLng);
    // I assume I call something here?
}

1 个答案:

答案 0 :(得分:0)

很抱歉,我是这样做的,它删除了第一点并用新数据替换了

myroutewithout.spliceWaypoints(0, 1, newLatLng);