GEプラグイン上のアニメーションとして道路を段階的に描画しようとしています。配列に一連の座標(lat、long)があり、次の関数を小さな時間間隔でループで使用して、道路全体を小さな部分にアニメーションで描画しています。
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程度の多数の(lat、longs)の場合、clearPath()
関数がブラウザをハングさせ、削除されない機能も削除されることがあります。すべての小さなセグメントを一度に削除する方法はありますか?つまり、すべての小さなセグメントを(アニメーションとして)1つの機能に部分的に追加し、それを部分的に削除するのではなく、GEプラグインDOMから一度に削除する方法はありますか?
よろしく、シヴァ