Клуб API Карт

Не выводится координаты в обработчике DragEnd

lukyanov-sv
13 сентября 2010, 09:32

Пытаюсь при перемещении метки выдать алерт с координатами. При обработке клика всё отрабатывается как надо, а вот при перемещении алерт не выдается. Причем сразу после перемещения стал открываться балун у этой метки (даже если заменить алерт на чтонибудь вроде a = 1+2). Что не так?

Вот мой код:  

<body>
<script type="text/javascript" charset="utf-8">

      // Создание обработчика для события window.onLoad
        YMaps.jQuery(function () {
            // Создание экземпляра карты и его привязка к созданному контейнеру
            var map = new YMaps.Map(YMaps.jQuery("#YMapsID")[0]);

            // Создание объекта геокодера
            var geocoder = new YMaps.Geocoder("Красноярск");
           
            var coord = "0,0";
           
            // По завершению геокодирования инициализируем карту первым результатом
            YMaps.Events.observe(geocoder, geocoder.Events.Load, function (geocoder) {
                    if (geocoder.length()) {
                        map.setBounds(geocoder.get(0).getBounds());
                        map.setZoom(14);
                        map.addControl(new YMaps.ToolBar());
                        map.addControl(new YMaps.Zoom());
                        map.addCursor(YMaps.Cursor.POINTER);
                        map.enableScrollZoom();
                    }
                       
                var placemark = new YMaps.Placemark(map.getCenter(), {draggable: true, style : "plain#bluePoint"});
                        var content = "Здесь!";
                        placemark.setBalloonContent(content);
                        placemark.setIconContent(content);
                        map.addOverlay(placemark);
                       
                        YMaps.Events.observe(map, map.Events.Click, function (map, mEvent) {
                            var newGeoPoint = mEvent.getGeoPoint();
                            placemark.setGeoPoint(newGeoPoint);
                            forma ='<input name="pcoord" type="hidden" value="'+mEvent.getGeoPoint()+'" />';
                            alert(mEvent.getGeoPoint());
                        });       
                        YMaps.Events.observe(placemark, placemark.Events.DragEnd, function (obj) {
                            var content = "Переместили";
                            placemark.setBalloonContent(content);

                            obj.update();

                            alert(mEvent.getGeoPoint());

                        });
            });


        });
        </script>
        <div id="YMapsID" style="width:600px; height:400px;"></div>
</body>

3 комментария
Подписаться на комментарии к посту
Замените mEvent на obj в последнем обработчике.
YMaps.Events.observe(placemark, placemark.Events.DragEnd, function (obj) {
    var content = "Переместили";
    placemark.setBalloonContent(content);

    obj.update();

    alert(obj.getGeoPoint());                                                                                                                               
});
Я мучался 2 дня с этим.. Огромное спасибо!
Консоль ошибок джаваскрипт вам поможет.