Клуб API Карт

API2.0 обработчик DragEnd, смена координат метки

Игорь Семёнов
25 апреля 2012, 19:44

Нужно сделать на апи2.0, чтобы можно было менять координаты метки, не удаляя и не создавая новую. (перемещаюсь по карте через города, поэтому надо метку тоже перетаскивать скриптом)

Так же нужно сделать обработчик на конец перетаскивания метки (координаты получаю). В мануале описано, как это делать для апи1.1, для 2.0 не нашёл

 

Пока что решается всё так:

 

 

myMap.events.add("click",
 function(e)
 {
  myMap.geoObjects.remove(myPlacemark);
  myPlacemark = new ymaps.Placemark(e.get("coordPosition"), {hintContent: '...'}, {draggable: false}
  myMap.geoObjects.add(myPlacemark);

 }

}

 

 

Вместо перетаскивания кнопки, её перемещение реализовано по нажатию на карту.

Само то перетаскивание, ясен пончик, не проблема. ({draggable: true}) Нужно после перемещения метки запоминать её координаты, а обработчика на 2.0 написать не знаю как. Поэтому взял пример из мануала для клика Но это временный вариант. Хотелось бы увидеть, как задать старый добрый 

"Maps.Events.observe(placemark, placemark.Events.DragEnd, function (obj) {" в стиле апи2.0
3 комментария
Подписаться на комментарии к посту

Ну, собственно, точно так же :)

placemark.events.add('dragend', function (e) {

   // координаты можно получить из

   // placemark.geometry.getCoordinates()

});

http://maps.test.apidev.yandex.ru/maps/doc/jsapi/2.x/ref/reference/GeoObject.xml#event-dragend

Игорь Семёнов
25 апреля 2012, 21:32

Благодарю. Ещё бы узнать, как менять координаты точки.

placemark.geometry.setCoordinates();

;-)