Я пытаюсь сделать дорожку постепенно, как анимацию над плагином GE. У меня есть набор координат (lat, long) в массиве, и я использую следующую функцию в цикле через небольшие промежутки времени, чтобы оживить всю дорогу в мелких деталях.Как удалить linestring, который добавляется частично по отдельности в 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());
}
}
проблема заключается в большом количестве (лат, лонги) мотивируют 20000 или так, функция clearPath()
вешает браузер, а иногда и некоторые функции, которые не должны быть удалены, также удаляются. Есть ли способ удалить все меньшие сегменты за один раз? i.e, есть ли способ добавить все мелкие сегменты по частям (как анимацию) к одной функции, а затем удалить их за один раз из DOM плагина GE вместо того, чтобы частично удалить часть?
С уважением, Шива
Hello Fraser, Thanx для вышеуказанных предложений. Кулачное предложение, хотя и не помогло мне в этом вопросе, но узнало об этом и использовало его в других задачах. Последнее предложение сделало трюк, это было именно то, что я искал, и теперь я могу очистить всю метку линии, нарисованную частично по ходу. Тонкс еще раз. С уважением, Шива – Shiva
Здравствуйте, Фрейзер, у меня есть еще один запрос относительно этого, создавая путь, который я должен сделать по частям, т. Е. У меня есть серия lat, longs, дифференцированная по номерам деталей. Когда я получаю новый номер детали, я должен начать рисовать путь с промежутком между предыдущим рисунком и текущей строкой/контуром и так далее до конца. Можно ли сделать это с последним предложением createPath & modifyPath, данным вами? С уважением, Шива – Shiva
Конечно, просто измените функцию createPath, чтобы принять параметр id, а затем сгенерируйте уникальный путь для каждого сегмента. Вероятно, я бы сохранил эти сегменты в глобальном массиве. Затем вы можете изменить функцию modifyPath, чтобы принять идентификатор или индекс, чтобы вы могли изменить правильный путь. Если у вас возникли проблемы с этим, дайте мне знать, и я отредактирую свой ответ, чтобы показать пример. – Fraser