Как реализовать функцию выбора местоположения для поиска пользователя?
Я работаю над интернационализированным сайтом на Django, где пользователям нужно указывать свое местоположение, и где пользователи также ищут вещи по местоположению. У меня есть несколько возможных решений:
- City autocomplete. Users just have to type a city and an autocomplete list will suggest complete triplets (city-state-country) to choose from.
- Using 3 levels dependent drop-down lists where the user first choose a country, then he picks a state and finally a city.
- Using a map picker where user have to click the location he want and the corresponding triplet (city-state-country) will complete.
Решение 1 очень элегантно. Но у него есть несколько проблем. Многоязычная природа сайта вынуждает переводить любое предложение, и невозможно перевести частичный ввод. Мексиканец, который, скорее всего, наберет "Ciudad de México" с тильдированным "e", не найдет его, потому что в базе данных город называется "Mexico City". И пользователи всегда рискуют не найти подходящее предложение или выбрать неправильное. Я бы предпочел отказаться от этого решения, даже если бы я его уже создал.
Решение 2 было бы очень функциональным. Но он немного устарел, а также усложнил бы работу пользователя, особенно для мобильных пользователей, когда они имеют дело со штатами с длинными списками городов.
Решение 3 кажется идеальным. В конце концов, AirBnB использует его. После быстрого поиска в Интернете я нашел несколько пакетов, но
they are all based on Google maps
they all focus on user location and localization only
they all provide informations I don't need, such as complete addresses or coordinates
Мне нужен простой пикер, который ограничен поиском триплета страна-государство-город. Эта тройка будет храниться в профиле пользователя и будет использоваться в поиске, как я уже говорил.
Учитывая мою рабочую среду (сайт на основе Django с ограниченной реактивностью фронтенда для визуального эффекта), какое решение или пакет вы бы предложили? Пакет должен быть адаптируемым к моим потребностям, и я должен настроить его под себя. У меня уже есть база данных со всеми странами, штатами и городами, но если мне нужно использовать внешний api, например, Google, я могу, но он должен соответствовать моим потребностям.
Что вы предлагаете?