Клуб API Карт

Помогите немного изменить пример

nikolaj.sp
27 декабря 2013, 22:00

Добрый день всем давно смотрел в сторону yandex карт, но все никак не мог решиться начать. Не судите меня строго, потому, что я не много понимаю в этом. Много готовых примеров я пересмотрел и наткнулся на этот пример http://dimik.github.io/ymaps/examples/geocode/event-reverse.html а это адрес откуда я зашел на этот пример http://ymapsapi.ya.ru/replies.xml?item_no=1781 Так вот пример я перенес себе на комп побаловался немного, меня все устраивает адрес вроде хорошо определяет. Но у меня есть просьба к вам. Вот мне не очень подходит, что вывод самого почтового адреса выводится в метке, а как можно вывести его в виде полей под картой, что бы пользователь смог изменить свой адрес я имею ввиду улицу и дом. Просто не всегда yandex видит все объекты, а записать мне их надо. Отнеситесь с пониманием. Огромнейшее спасибо за помощь.

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

вам нужно достать из полученного результата геокодирования те данные что вам нужны и вставить их в форму

с чем именно проблема?

Я если чесно совсем новичок в програмировании. И мне немного трудно. По сути мне надо записать в бд координаты и адрес. Я совсем не представляю как передавать данные из js в php, надеялся наути примеры с записью в бд, а здесь везде только js. Помогите мне пожалуйста вывести поля регион город и улица после карты, что бы их можно было редактировать. Пожалуйта, пожалуйста, пожалуйста:-(

Используйте jQuery чтобы вставить данные в поля формы.

$('#_id_вашего_input_).val('_данные_');

 вместо

myPlacemark.properties
.set({
iconContent: firstGeoObject.properties.get('name'),
balloonContent: firstGeoObject.properties.get('text')
})

 будет

 

$('#name').val(firstGeoObject.properties.get('name'));

 

 

Большое спасибо. А можно както не так, что бы поля сразу были после карты. А допустим нажал на карту пояпилась метка и внизу карты  высветилась надпись "подождите..." и как только закончится определение появятся поля с данными или так нельзя передать данные для записи в бд?

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

Я хочу что бы поля не  было, оно должно аоявиться только после того как адресс определиться. Тоесть пользователь зашел на страничку с картой, там есть только карта, жмет по ней в нужном ему месте снизу появляется надпись определяю местоположение и как только местоположение определится, должно появиться поле для ввода адреса. Сейчас оно сразу же есть, это пользователя путает.

Не вижу проблемы.

Создавайте поле после ответа геокодера и вставляйте в DOM после контейнера с картой

Если я б знал о чем идет речь. Что такое DOM

Чтобы сделать то что Вы хотите надо написать javascript-код. Одного навыка копи-паста не достаточно.

Вам надо создать тэг input и вставить его в один из тэгов на вашей странице

 

Получается input находится в диве который по умолчанию скрыт и только после того как будет сделанно действие его надо показать, я так понимаю.

можно показать/скрыть, либо добавить/удалить

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

В песочнице есть пример работы с данными из ответа геокодера

Так я же и от туда пример взял

Вы взяли пример обратного геокодирования, я вам дал ссылку на прямое.

По той ссылке что я привел в консоль выводятся все доступные поля из ответа, для обратного они будут те же

как можно совсем по отдельности сделать, вот так  получается улица дом, 

$('#name1').val(firstGeoObject.properties.get('name'));

мне это надо как есть. 

Но как узнать отдельно город или поселок.

 Так же меня интересует отдельно занести в бд и область 

есливоттакделать 

 $('#name2').val(firstGeoObject.properties.get('description'));

то показывает страну и город и область, но самое интересное, что Москва относится к московской области, но когда щелкаешь в карте по Москве,  в поле  #name2  высвечивается только страна и город, но без области, Почему так происходит и как это исправить?

По отдельности данные есть в AddressDetails

Если вы хотите получать определенный тип топонимов нужно выставить опцию kind при запросе

А теперь поставьте себя на мое место и ответьте Вы бы поняли. Опцию kind в каком запросе? что такое AddressDetails в примере песочницы который Вы указали такого нет и как я могу это сделать?

На вашем месте я бы прочитал сначала документацию.

там есть про "kind"

 

AddressDetails есть в примере вот тут:

             * Все данные в виде javascript-объекта.

             */

            console.log('Все данные геообъекта: ', firstGeoObject.properties.getAll());