传单折线性能问题

时间:2017-02-03 11:08:35

标签: javascript leaflet

我目前正在使用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);

性能下降,而且速度很慢。主要的问题是,有时在一段时间内没有位置,所以我需要绘制一条折线以获得更具视觉效果的东西。

有什么方法可以解决这个问题吗?谢谢!

1 个答案:

答案 0 :(得分:1)

绘制折线不应该在循环中,而应该在循环之后。我理解这个问题的方式是,你在折线时一次又一次地绘制折线。

如果你想在循环中使用它,你必须在(阵列的)最后两个位置之间绘制。