Клуб API Карт

Косяк или я ошибаюсь?

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

у объекта Polygon вешую прослушку на событие dragend и на событие geometrychange 

         myGeoobject.events.add('dragend', function (event) {
                  printGeometry(myGeoobject.geometry.getCoordinates());
                  setActivePoints(collection,myGeoobject);
             });

 

 

 function printGeometry (coords) {

coords[0].join(';')

}

При перемещении объекта я получаю координаты всех вершин. но если я схвачусь мышкой за край и потяну - создав еще одну вершину. в таком случае я получаю по прежнему старое количество вершин.

а мне нужно получить новое количество вершин при создании вершины. это косяк или я не прав?

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

Если вы имеете ввиду создание новых вершин через редактирование, то все правильно. Геометрия фактически меняется в тот момент, когда вы заканчиваете перетаскивание и новая точка добавляется в полигон.

но мне нужно узнать координаты всех вершин после того как через редактирования я закочил добавлять вершины. получается такого не получится сделать?

После добавления каждой вершины геообъект бросает geometrychange.

У этого события есть поля oldGeometry newGeometry.

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

collectionGEO.events.add('editorstatechange ', function (event) {
   alert(""Help"");
 });

Правильно я вас понял? если да. тогда тоже не могу попасть в это событие. (( что же не так.

Все события перепробовал. не могу поймать события добавления новой вершины полигона. напомню у меня коллекция

 

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