Клуб API Карт

10 комментариев
Sergey Konstantinov
28 января 2016, 01:56
1. Создаёте кнопку.
2. По клику удаляете полигоны с карты.
А в чем затруднение?
Александра
28 января 2016, 01:56

создаю кнопку, делаю на нее онклик, а в функции пробую разные варианты, но все не то. Не могу найти как именно удалять((

function deletePolygon(){ 

var polygon = new YMaps.Polygon();

map.removeOverlay(polygon);

  //map.geoObjects.remove(polygon);

//map.RemoveFromMap(polygon);

}

Всякое такое пробую из советов, ничего не помогает. Буду очень благодарна, если подскажите какая все таки функция за это отвечает или как ее правильно вызвать.

Sergey Konstantinov
28 января 2016, 01:56
А как, по-вашему, ваш код должен работать?
Вы создали новый пустой полигон и удалили его с карты. И что должно произойти?
Александра
28 января 2016, 01:56

:) ок, а как сделать, чтобы не создавая новых удалить все что уже были созданы?

Sergey Konstantinov
28 января 2016, 01:56
Хранить где-то на них ссылки.

map.geoObjects.each(function (item) {
                 if(item.geometry.getType() == "Polygon"){
                            map.geoObjects.remove(item)
                 }
                            })

Будет работать конечно, если полигоны добавлены напрямую в map.geoObjects, а не через коллекцию, например.

Правильное решение - добавить все полигоны в отдельную коллекцию, и ее уже на карту.

Удалять можно, удалив коллекцию с карты, или вызвав у нее removeAll

Sergey Konstantinov
28 января 2016, 01:56
Судя по синтаксису, там первое АПИ.

кстати, да.

а что мешает сразу на второй версии писать?

Александра
28 января 2016, 01:56

Спасибо за помощь)

Нужно было немного поспать и собраться мыслями) И все получилось)