我正在绘制一条折线,其中包含着相当多的纬度/经度点(约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);
现在奇怪的是,当我拖动结束滑块时,线条会按预期重新绘制,但是当我拖动开始滑块时,除了在高缩放级别下部分线条似乎会稍微移动外(当放大时不会出现此问题)。我认为这可能与Google应用于Polyline的抗锯齿算法有关,但是当我移动结束滑块时它不会发生。有人知道是什么原因导致了这种闪烁吗?