Клуб API Карт

Полный адрес пользователя (с указанием региона, города, улицы, дома) по типу Вконтакте

Vitalaa
2 ноября 2010, 10:59

Приветствую всех. Извините, если тема уже поднималась или всё делается абсолютно просто, для меня пока что API Яндекс.Карт, да и вообще по сути интернетовое программирование - нехоженный лес.

На своём сайте, построенном на друпале (Slawia.org) хочу предоставить пользователям проставлять свой подробный адрес (настолько подробный, насколько они захотят) для того, чтобы они могли находить единомышленников в своих городах.

Насколько возможно осуществление такой идеи с помощью Яндекс.Карт и как это сделать?

6 комментариев
Подписаться на комментарии к посту
На сколько я понимаю - в качестве исходных данных у вас поступают адреса пользователей с разной точностью (с точностью до улицы, дома или до города).

Вам нужно сделать следующее:
1. Прогеокодировать адреса. На мой взгляд удобнее это сделать с помощью http-геокодера на серверной стороне после сохранения адреса.
2. Оцените точность полученных данных с помощью поля precision. Тогда вы поймете насколько точно пользователь указал свое местоположение и что ему нужно показывать.
3. Выбрать из базы нужные данные согласно вашим условиям и предпочтениям.
4. Создать нужный javascript (или json, или ymapsml) и отобразить объекты на карте.
Вообще, возможно ли позволить пользователю уточнять постепенно адрес при изменяющемся масштабе карты и дать ему закончить двумя вариантами: указав точку на карте; указав адрес.
И как это будет сохраняться: строкой с координатами или строкой с географическими названиями?
Возможно.
Сохранятся будет как вы захотите. Эфективнее хранить координаты.

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