Всем привет!
Подскажите, как работают социальные сети, вроде приложений знакомств или похожих приложений, когда пользователь указывает где он проживает.
1. Пользователь может указать страну
2. Может указать страну и область
3. Страну облатсть и город
Все это пишется в одном поле, отправляется на сервер, сервер получает на основе введенных данных более подходящее место у google api и что потом?
Пользователь выбрал "Россия, Московская область, Москва"...
Как потом искать пользователей в этой же локации? Точнее, скорее, вопрос о том, как хранить эти данные? Неужели в текстовом формате на сервере и потом когда пользователь ищет дрезей в том же городе - он с помощью такой же формы, пишет "Москва", гугл предлагает выбрать "Россия, Московская область, Москва", пользователь выбирает этот вариант и сервер ищет в БД совпадения по строке "Россия, Московская область, Москва"?
Почему стоит именно этот вопрос... Потому что нет привязки к каким-то ID. т.е. даже если сервер каждый ввод юзера будет парсить отданный результат гугла, сохранять это в БД, а потом проверять "А нет ли у нас в БД уже города Москва в Московской области в России", то по какому принципу искать его в БД ведь нет уверенности в том, что гугл api отдал именно тот город Москва?...
У Google множество API для работы с такими вещами: Places Autocomplete API, Place Details API, Geocoding API и т.д. Можно получить как координаты города, так и его Place ID для организации поиска в том числе — ищите тип locality в массиве address_components ответа. Сделайте проект на GCP, разберитесь на примере из документации, там бесплатные лимиты довольно щедрые.