@bossic
Начинающий программист

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

Здравствуйте.
Я использую примерно такой код (немного его обрезал до самой сути, которая у меня и не получается)
myMap.events.add('click', function (e) {
                               var coords = e.get('coords');

                               var iAmHerePlaceMark1 = new ymaps.Placemark(coords, {}, {
                                 preset: 'islands#geolocationIcon',draggable:true,
                               });

                                  myMap.geoObjects.remove(iAmHerePlaceMark1);
                                  window.myMap.geoObjects.add(iAmHerePlaceMark1);
                             
                        });

Но созданный в функции объект не удаляется, хотя если я создам объект вне функции, то он благополучно сможет удалиться из этой функции. geoObjects.remove() не удаляет локальные объекты функции, вот я о чём. Как сделать, чтобы они удалялись?
  • Вопрос задан
  • 192 просмотра
Пригласить эксперта
Ответы на вопрос 1
@bossic Автор вопроса
Начинающий программист
Я разобрался сам. Должно быть примерно так:

var myCollection = new ymaps.GeoObjectCollection();
                        myMap.events.add('click', function (e) {
                              myCollection.removeAll();
                          
                               var coords = e.get('coords');

                               var placeMark = new ymaps.Placemark(coords, {}, {
                                     preset: 'islands#geolocationIcon',draggable:true,
                               });
                               myCollection.add(placeMark);

                               myMap.geoObjects.add(myCollection);
                        });
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы