Клуб API Карт

Помогите советом

abprohorov
19 апреля 2012, 15:57

Всем привет!

 

Помогите, пожалуйста, советом.

 

Задача: при регистрации, пользователи указывают свой почтовый адрес(индекс, город, улица, дом, квартира и т.п.). К сожалению, многие вводят адрес абы как и хочется такие адреса править автоматически.

 

Сейчас реализовал примерно так:

После снятия фокуса с textarea, введенный текст отдается яндекс.картам (http://geocode-maps.yandex.ru/1.x/?format=json&geocode=address_from_textarea) и затем введенный текст заменяется ответом (data.response.GeoObjectCollection.featureMember[key].GeoObject.metaDataProperty.GeocoderMetaData.text).

 

Проблема: ответ от карт с точностью до дома, в результате введенный номер квартиры "удаляется". То есть, если вводим "москва, пушкина 1, кв 12", текс заменится на "Россия, Москва, улица Пушкина, 1".

 

Парсить предварительно введенный текст, выделять оттуда номер квартиры и добавлять его потом к ответу - слишком сложно. Создавать отдельное поле для ввода новера квартиры - не красиво. Может кто сталкивался с подобной задачей и может подсказать решение? 

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

 

 Создавать отдельное поле для ввода новера квартиры - не красиво

Вообще это самый правильный вариант.

И заодно внесет порядок и ваши пользователи не будут вводить адрес абы как

Еще вроде бы в ответе геокодера должен содержаться исходный запрос, проверьте.

Да, исходный запрос есть в ответе. Не очень хотел использовать отдельное поле, чтобы не заставлять пользователей 2 раза вводить номер квартиры =) Эксперимент показал, что почти все будут вводить полный адрес в texarea и потом ругаться и вводить квартиру еще раз отдельно =)

Спасибо за ответ! Видимо так и придется сделать.