我正在绘制一条具有相当多的纬度/经度点(~ 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);
现在奇怪的是,当我拖动结束滑块时,线条会按预期重绘,但是当我拖动开始滑块时,它会正确重绘线条,除非在高缩放级别下,线条的部分似乎略有移动(它没有当放大关闭时)。我认为这可能与谷歌应用于折线的抗锯齿算法有关,但当我移动结束滑块时它不会这样做。
有谁知道是什么导致了这种闪烁?