Javascript 谷歌地图3重绘多段线闪烁

Javascript 谷歌地图3重绘多段线闪烁,javascript,google-maps,google-maps-api-3,polyline,google-polyline,Javascript,Google Maps,Google Maps Api 3,Polyline,Google Polyline,我正在绘制一条包含大量lat/lng点(~1000)的多段线。我有两个滑块(开始和结束),允许用户调整时间界限,然后更新多段线以显示这两次之间的数据 我的更新算法如下所示: var mvcPath = new google.maps.MVCArray(); for (var i = 0; i < gpsData.length; i++) { if (gpsData[i]['timestamp'] <= endDate && gpsData

我正在绘制一条包含大量lat/lng点(~1000)的多段线。我有两个滑块(开始和结束),允许用户调整时间界限,然后更新多段线以显示这两次之间的数据

我的更新算法如下所示:

var mvcPath = new google.maps.MVCArray();

for (var i = 0; i < gpsData.length; i++) {

    if (gpsData[i]['timestamp'] <= endDate && 
        gpsData[i]['timestamp'] >= startDate) {
        mvcPath.push(gpsData[i]['location']);
    }
}

this.path.setPath(mvcPath);
var mvcPath=new google.maps.MVCArray();
对于(变量i=0;i
现在奇怪的是,当我拖动结束滑块时,线条会按预期重新绘制,但是当我拖动开始滑块时,它会正确地重新绘制线条,除非在高缩放级别,线条的某些部分似乎会轻微移动(在近距离放大时不会这样做)。我认为这可能与Google应用于多段线的反别名算法有关,但当我移动结束滑块时,它不会这样做


有人知道是什么原因导致了这种闪烁吗?

我已经破解了一个解决方案,目前似乎还有效。我试图保持点数的一致性,因为API似乎不喜欢我在前面添加点数

假设我有一组1000点,我只想显示200-900点。如果我绘制点200的位置,200次,然后将其余的数据绘制到点900,它会停止闪烁。为了显示10-330,我将绘制点10,10次,然后将其余数据绘制到点330

我猜这与谷歌内部存储地图线条的方式有关,如果你在线条的前端添加,它可能需要重新索引整个数组并从头开始重新绘制线条

我现在不会接受这个答案,以防有人想出更好的答案