tulov / angular-yandex-map

AngularJS directive to work with Yandex maps
173 stars 58 forks source link

Не работает массовое удаление полигонов #23

Closed Kroid closed 10 years ago

Kroid commented 10 years ago

При программном создании большого кол-ва полигонов (100+) и затем удалении в цикле по одному - где-то в середине цикла выбрасывает ошибку "Cannot read property 'remove' of undefined".

var polygons = [];

for (var i = 0; i < 100; i++) {
    var polygon = new ymaps.Polygon([coordinates], {
          balloonContent: "",
        }, {
          draggable: false,
          editorMaxPoints: 5000,
          fillColor: '#303285',
          strokeColor: '#080B74',
          strokeWidth: 3,
          opacity: 0.3,
          zIndex: 1000,
        });
    polygons.push(polygon);
}

polygons.map(function(polygon) {
    myMap.geoObjects.remove(polygon);
});
tulov commented 10 years ago

Ну и зачем это делать? Просто удалите требуемые полигоны из массива polygons, и карта сама обновится. Вы работаете на прямую с api карт, а нужно использовать возможности angular.

Kroid commented 10 years ago

Спасибо, кажется понял в чем дело. Я добавлял элементы так:

myMap.geoObjects.add(polygon);

, а надо через ng-repeat в html коде, верно?

tulov commented 10 years ago

Конечно, это же angular.