Клуб API Карт

Определение координат и адреса в точке

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

Всем привет.

API Яндекса стал изучать совсем недавно, при этом js мне даётся очень плохо. Но усилиями гугла и примеров с этой группы добился желаемого (почти).
Есть несколько вопросов:
1) Как сделать что-бы помимо перетаскивания значка, можно было кликать по карте, при этом значёк перемещался в точку клика, а данные точки определялись.
2) Насколько грамотно написан код, и какие моменты стоит переделать?

Код: http://pastebin.com/Ws8xknuj

10 комментариев
Могли-бы просто ответить: "Не знаю", чем мягко посылать...
посылать? я дал вам ссылку еа пример по вашему первому вопросу
Прошу прощения, разобрался.
Владислав Турман
28 января 2016, 02:16

1) вам дали ссылку.

2) Код стандартный, если все работает, то думаю ничего переделывать не надо.

 

Хорошо, вот что нашёл по ссылке, точка перемещается.
Теперь вопрос, как отследить изменение этой точки и заполнить поля ниже?

myMap.events.add('click', function (e)
{
    myPlacemark.geometry.setCoordinates(e.get('coordPosition'));
});

add: И как поменять курсор над картой на палец а над значком 4стрелки?
Владислав Турман
28 января 2016, 02:16

А зачем вам изменение этой точки, если у вас уже есть click и в нем вы изменили позицию. тут же наверное можно и поменять информацию в поле ввода и получить адрес. Я бы еще вынес это все в отденльную функцию, что-бы только вызывать ее из двух разных событий. dragend и click.

 

курсоры есть в документации,

Я и хочу вынести в функцию, но не знаю как...
В myPlacemark.events.add всё просто, e передаём в функцию, и текущее тело копируем в новую функцию.
А вот как быть с myMap.events.add. Я не понимаю что такое e в этой функции, да и в той тоже.

Повторюсь, я не понимаю JS на корню :'(
Владислав Турман
28 января 2016, 02:16

вы уже показали перед моим ответом что вы знаете, как отловить клик по карте и дать плейсмарку координаты клика. теперь повторите сразу за строкой присвоения координат те же действия, чт ои при dragend, с одной лишь разницей, что координаты у вас известны из координат клика.

Огромное спасибо. Во всём разобрался. Итоговый вариант такой: http://pastebin.com/jQGsYr7Z

Маленький вопросик относительно определения адреса.
Адрес возвращается строкой, но строка имеет не универсальный формат, типа "Страна, Область, Город, Рай-он, Улица, Дом". Есть способ вернуть адрес ассоциативным массивом, для последующего приведение в нужный формат?