Клуб API Карт

Как удалять метки, маршруты, колекции и т.д

Пост в архиве.

1) Не всегда получается удалять объекты с карты. Допустим ситуация, когда сгенерировал и добавил кнопкой коллекцию, потом еще раз сгенерировал туже коллекцию и добавил на карту. При удалении удаляется только один экземпляр.  Как сделать, чтобы удалить все. Как находить идентификатор отображаемой коллекции.

2) На примере http://metka.org.ua/ex_route.html, добавляем маршрут, но функция удаления уже не находит добавленый объект. Как его удалить? 

 

3) Какая логика деуствий должна быть при создании-добавлении/ и после удалении этих объектов с карты

 

4) есть ли универсальный метод удаления всех слоев?

 

p.s всем спасибо, срочно нужно разобраться с этими проблемами.

2 комментария

ваш вопрос скорее про javascript

вы хотите чтобы функция удаления получала доступ к объекту, который находится в области видимости другой функции.

Вы можете сохранять на него ссылку в родительском/глобальном scope, и удалять объект при ее помощи:

 

var re, anchor, map, myCollection, route;
...
}).then(function (router) { route && map.geoObjects.remove(route); // сначала удаляем старый маршрут, если он есть.route = router;...

 

 

Была такая идея.

Думал, что возможно есть встроеный элемент для этого,  чтоб обращсться к добавленным элементам на карте.

 

За ответ спасибо, буду делать )