我正在使用传单和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?
}
答案 0 :(得分:0)
很抱歉,我是这样做的,它删除了第一点并用新数据替换了
myroutewithout.spliceWaypoints(0, 1, newLatLng);