【问题标题】:leaflet routing.control update when marker is moved标记移动时传单路由.控制更新
【发布时间】:2023-03-22 05:03:01
【问题描述】:

我正在使用传单和 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?
}

【问题讨论】:

    标签: leaflet


    【解决方案1】:

    已排序,我是这样做的,它删除了第一个点并用新数据替换它

    myroutewithout.spliceWaypoints(0, 1, newLatLng);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-05-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多