может есть какая библиотека заточенная именно под города
Разумеется! Любое уважающее себя API карты предоставляет запросы городов.
1. Вы создаёте выпадающий список с вводом.
2. Пользователь начинает вводить название города.
3. В фоне отправляется запрос к API карт.
4. В ответ получаем список городов.
5. В выпадающем списке отображаем полученные опции.
6. Пользователь кликает по опции. Если не кликает, то выводим сообщение, что нужно выбрать город.