@Alk90
php, mysql, jquery, css, html, api

Как правильно сделать выбор локации пользователем?

Всем привет!
На сайте, для пользователей, есть возможность указать страну, регион и город. Ну скажем, как вконтакте.
Для этого в сети была найдена база MySql городов стран и регионов. Вроде все хорошо, но сейчас я понимаю, что появится необходимость найти пользователей в радиусе, скажем, 200км... Для этого нужны координаты...
Но как быть теперь... Координаты городов можно найти например через yandex api, но города же бывают с похожими названиями, поэтому в автоматическом режиме так не получится... Вручную тоже 2млн городов особо не переберешь...
Я пришел к выводу что изначально мне нужно было что-то делать иначе...
Но что именно? Как популярные сервисы например сайтов знакомств и прочих соц сетей решают эту задачу?
  • Вопрос задан
  • 92 просмотра
Пригласить эксперта
Ответы на вопрос 2
dollar
@dollar
Делай добро и бросай его в воду.
Если речь про мобильное приложение, то там есть нормальная геолокация.

Если обычный сайт, то пользователь просто сам указывает свой город. Автоматически можно подхватывать только язык браузера, остальное не очень надёжно.
Ответ написан
Комментировать
radist2s
@radist2s
Back-end и front-end разработчик
Попробуйте смотреть в сторону Sypex Geo. Города переведены, есть координаты, можно найти город, регион и тд по IP. Точность приличная. Можно использовать HTML 5 Geolocation API, который зачастую дает точность до дома. Если нужен просто автокомплит и каталогизация, то можно использовать Кладр API, так же подобный API есть у Почты России, но его я не использовал. А вот искать ближайшее место для выбранных координат уже интереснее. Можно и с помощью MySQL(последние версии поддерживают Spatial индексы), или, если нужно, MongoDB, хотя лучше не плодить сущности без необходимости.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы