Добрый вечер!
Появилась необходимость на карте с балунами отметить область многоугольником. Во время создания и после которого нужно все время искать точки внутри области. Как искать во время создания я понял, а вот как после завершения создания обнулить событие и повесить новое непонятно.
Вот этот слушатель слушает при создании myPolygon.editor.events.add("vertexadd");
После создания многоугольника необходимо повесить этого слушателя myPolygon.events.add('geometrychange');
Вот как отследить окончание создания и поменять слушателя?)
var myPolygon = new ymaps.Polygon([], {}, {
// Курсор в режиме добавления новых вершин.
editorDrawingCursor: "crosshair",
// Максимально допустимое количество вершин.
editorMaxPoints: 5,
// Цвет заливки.
fillColor: '#00FF00',
// Цвет обводки.
strokeColor: '#0000FF',
// Ширина обводки.
strokeWidth: 5
});
var stateMonitor = new ymaps.Monitor(myPolygon.editor.state);
stateMonitor.add("drawing", function (newValue) {
myPolygon.options.set("strokeColor", newValue ? '#FF0000' : '#0000FF');
});
var eventer;
eventer = myPolygon.editor.events.add("vertexadd", function (event) {
var storage = ymaps.geoQuery(myMap2.geoObjects);
var objectsInsidePoly = storage.searchInside(myPolygon);
objectsInsidePoly.each(function(pm){
//что-то делаем
});
myPolygon.editor.startDrawing();