Javascript 在传单中的移动标记后面绘制多段线
我有一个问题,我正在使用传单,每2秒有一个GPS坐标,与地图上的移动物体有关,我成功地根据GPS坐标每2秒创建一个移动标记,但我没有在标记后面绘制多段线 你知道吗?谢谢Javascript 在传单中的移动标记后面绘制多段线,javascript,html,css,leaflet,Javascript,Html,Css,Leaflet,我有一个问题,我正在使用传单,每2秒有一个GPS坐标,与地图上的移动物体有关,我成功地根据GPS坐标每2秒创建一个移动标记,但我没有在标记后面绘制多段线 你知道吗?谢谢 var redraw = function(p3DMessage){ lat = parseFloat(p3DMessage.lat); lng = parseFloat(p3DMessage.lon); console.log(lat)
var redraw = function(p3DMessage){
lat = parseFloat(p3DMessage.lat);
lng = parseFloat(p3DMessage.lon);
console.log(lat)
console.log(lng)
if (theMarker != undefined) {
mymap.removeLayer(theMarker);
};
var polylinePoints = [[lat, lng]];
//failed to draw polyline...
//L.polyline([[lat, lng]]).addTo(mymap);
theMarker = L.marker([lat,lng]).addTo(mymap);
};
用于向现有多段线添加点
因此,构建地图,添加一条多段线,并在绘图函数的每个刻度处添加一个点。请注意,您还可以重用标记。差不多
var map = L.map(document.getElementById('map')).setView([48.8583736, 2.2922926], 15);
L.tileLayer('http://{s}.tile.osm.org/{z}/{x}/{y}.png', {
attribution: '© <a href="http://osm.org/copyright">OpenStreetMap</a> contributors'
}).addTo(map);
var marker = null;
var line = L.polyline([]).addTo(map);
function redraw (p3DMessage) {
var lat = parseFloat(p3DMessage.lat),
lng = parseFloat(p3DMessage.lon),
point = {lat: lat, lng: lng};
if (!marker) {
marker = L.marker(point).addTo(map)
}
line.addLatLng(point);
marker.setLatLng(point);
}
非常感谢您的帮助,我现在有了这个想法,但是我只有一个问题,因为我没有出发坐标(在您的示例中是p0),当程序开始时,我得到了第一个坐标,从中我画出了界限。所以我必须在重画函数中重新初始化标记和多段线?谢谢你advanced@bluewonder可以从空多段线和空标记开始。我已经修改了我的答案以显示可能的实现。谢谢你的帮助。我将查看并更改我的代码。