Клуб API Карт

Установка и перетаскивание метки на карте при поиске по адресу

rimar.oleg
16 мая 2014, 15:04

Здравствуйте.

Использую на сайте код для поиска по адресу на карте объектов.

Имея адрес создаю метку:

 

            map.removeOverlay(geoResult);
            // Запуск процесса геокодирования
            var geocoder = new YMaps.Geocoder(value, {results: 1, boundedBy: map.getBounds()});

            // Создание обработчика для успешного завершения геокодирования
            YMaps.Events.observe(geocoder, geocoder.Events.Load, function () {
                // Если объект был найден, то добавляем его на карту
                // и центрируем карту по области обзора найденного объекта
                if (this.length()) {
          
           
           map.removeOverlay(geoResult);


 
 geoResult = this.get(0),{draggable: true};
map.addOverlay(geoResult);
map.setBounds(geoResult.getBounds());

value содержит адрес, допустим Москва.

 

Карта переходит на координаты и ставит метку, но хтелось бы понять как сделать чтобы метку можно было перетаскивать потом.

Как я понял создаётся объект  geoResult = this.get(0);

В нём хранятся настройки метки, приписал {draggable: true}, но ничего не получилось, даже ошибку не пишет и не работает перетаскивание.

Как можно решить данную проблему?

1 комментарий
Подписаться на комментарии к посту

 

В нём хранятся настройки метки, приписал {draggable: true}, но ничего не получилось, даже ошибку не пишет и не работает перетаскивание.

Все-таки надо понимать что и куда приписывать.

То что Вы приписали – глупость.

Почитайте как работает оператор запятая в Javascript.

Запись 

a = b, c;

присвоит "с" в переменную "а", а "b" не приcвоится ничему.

Вам тут не приписывать надо, а видимо выставить опцию метке через метод setOptions