Клуб API Карт

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

bacardirus
31 марта 2011, 15:58
Как можно отловить событие окончания перетаскивания одной из вершин редактируемого многоугольника?
Что-то подобное DragEnd.

Суть в том, что нужно получить координаты вершины многоугольника сразу после того, как её куда-то перетащили, для того, чтобы затем сразу же переместить точку к ближайшей точке другого многоугольника.
Пробовал отлавливать через событие onPointDragging: не помогло, т.к. событие возникает до того, как точка была перемещена, а не после.
Событие PositionChange тоже не помогло: т.к. мне в дальнейшем нужно изменять положение вершины, и получается зацикливание.
6 комментариев
Подписаться на комментарии к посту

YMaps.GraphicsEditingOptions.onPointDragging предназначен именно для этого. В вашем случае из него надо возвращать ближайшую точку другого многоугольника, если 3й аргумент true.

http://api.yandex.ru/maps/jsapi/doc/ref/reference/graphicseditingoptions.xml#onPointDragging

Если не подходит, объясните более подробно почему.

Я как раз пользуюсь 3м аргументом, когда он true.
Но это всё равно не подходит, потому что запрашивая координаты точки в событии onPointDragging я получаю её координаты до перемещения. А мне нужно после.

Если я все правильно понял, нужные вам координаты приходят в 1ом аргументе под индексом, который передается во 2ом аргументе.

Да, спасибо. Оказалось, что именно они и нужны. Только в 1м аргументе приходит массив точек в пикселах карты, а не в геоточках.
Не подскажете, как полученные пиксели можно преобразовать в географические координаты, если не заморачиваться с вычислением относительно старого положения точки?
Заработало. Спасибо большое!