我目前正在使用Leaflet 1.0.3,这是我的问题。 我有很多GPS位置,显示在我的地图上。
我有一个for
循环,我在每个位置创建一个圆圈标记:
var position = new L.latLng(lat, lng);
coordinates.push(position);
L.circle([lat, lng], 50, {
color: 'red',
fillColor: '#f03',
fillOpacity: 0.5
}).addTo(map).bindPopup(date.replace('T',' '));
有千位,没有性能问题,速度很快。 但是当我在两个圆圈之间使用折线进入同一个循环时:
var polyline = new L.Polyline(coordinates, {
color: 'red',
weight: 3,
opacity: 0.5,
smoothFactor: 5
});
polyline.addTo(map);
性能下降,而且速度很慢。主要的问题是,有时在一段时间内没有位置,所以我需要绘制一条折线以获得更具视觉效果的东西。
有什么方法可以解决这个问题吗?谢谢!
答案 0 :(得分:1)
绘制折线不应该在循环中,而应该在循环之后。我理解这个问题的方式是,你在折线时一次又一次地绘制折线。
如果你想在循环中使用它,你必须在(阵列的)最后两个位置之间绘制。