Клуб API Карт

Отменить вновь созданный полигон [решено]

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

Запускаю создание нового полигона в режиме редактирования:

 

var polygon = new YMaps.Polygon([]) ;
polygon.description='<h4>Создание площади</h4><button>Сохранить</button><button>Отмена</button>' ;
map.addOverlay(polygon) ;
polygon.setEditingOptions({drawing: true}) ;
polygon.startEditing() ;

 

Как правильно организовать отработку кнопки "Отмена" - чтобы этот отрисованный полигон был удален с карты?

 

ЗЫЖ интересует конкретный пример, а не голословные рассуждения о великом и прекрасном..

 

18 комментариев

map.removeOverlay(polygon);

polygon = null;

как выглядит эта команда - мне известно.

непонятно, как отрабатывать, т.е. если map.removeOverlay(polygon); запихнуть в onclick="" то нет результата, поскольку нет указателя на полигон.

не очень понял зачем в onclick чтото "пихать"

есть же другие кошерные способы

какие, например?..

например, jQuery

пример?..

а доку читать в лом? :-)

 

            var polygonBalloonContent = YMaps.jQuery('http://img.yandex.net/i/www/logo.png" width="178" height="120" title="" alt="Яндекс">')               .bind('click', function () {                    map.removeOverlay(polygon);                    polygon = null;                });            polygon.setBalloonContent(polygonBalloonContent[0]);

а polygon откуда в бинд приходит?..

вы пишите этот код, там же где создаете полигон

соответственно у вас есть на него ссылка

в javascript это называется замыкание

не работает.

работает в узкоспециализированной ситуации, когда щелчок идет на все инфоокно. У меня планируется наличие в инфоокне как минимум двух кнопок, одна из них - отмена. Как мне привязать этот пример к моей задаче?..

почитайте все таки про jQuery

т.е. по существу сказать нечего?..

очень конструктивная помощь, однако.

по существу я выложил вам рабочий пример удаления полигона по клику,

не хотите разбираться с jQuery, напишите тоже самое на plain javascript.

 

что именно не получается?

слушать клики на кнопках вместо картинок?

 

в топикстарте я же ясно указал - слушать кнопку. КНОПКУ!!!

нужен кон-крет-ный пример кода, а не принцип его построения, ну что еще может быть непонятного???..

var polygonBalloonContent = YMaps.jQuery('стереть')               .find('.delete')               .bind('click', function () {                    map.removeOverlay(polygon);                    polygon = null;            }).end();            polygon.setBalloonContent(polygonBalloonContent[0]);

ОТЛИЧНО!!!

Это то, что нужно, спасибо! :)