我正在尝试逐步绘制一条道路作为 GE 插件上的动画。我在一个数组中有一组坐标(纬度,经度),我在一个循环中以小的时间间隔使用以下函数来动画地绘制小部分的整个道路。
var intFeatureCounter4Trace=0
function createPath(lat1,lng1,lat2,lng2,strToolType){
lineStringPlacemark = ge.createPlacemark('');
var lineString = ge.createLineString('');
lineStringPlacemark.setGeometry(lineString);
lineString.setTessellate(true);
lineString.getCoordinates().pushLatLngAlt(lat1,lng1,0);
lineString.getCoordinates().pushLatLngAlt(lat2,lng2,0);
lineStringPlacemark.setStyleSelector(ge.createStyle(''));
var lineStyle=lineStringPlacemark.getStyleSelector().getLineStyle();
lineStyle.setWidth(5);
lineStyle.getColor().set("9900FFFF"); //'aabbggrr' format
intFeatureCounter4Trace+=1;
ge.getFeatures().appendChild(lineStringPlacemark);
}
在小部分绘制道路时,我正在跟踪添加到 GE 插件的小线段的数量,并使用此功能计数使用以下函数在循环中删除所有添加的线段:-
function clearPath(){
for(var i=0;i<intFeatureCounter4Trace;i++){
ge.getFeatures().removeChild(ge.getFeatures().getLastChild());
}
}
问题是对于大量(纬度,经度)来说,比如 20,000 左右,该clearPath()
功能会挂起浏览器,有时一些不应该删除的功能也会被删除。有没有办法一次性删除所有较小的部分?即,有没有办法将所有较小的片段逐部分(作为动画)附加到单个功能,然后从 GE 插件 DOM 中一次性将其删除,而不是逐部分删除?
问候,湿婆