@blackCover

Как указывать параметр запроса «кириллицей» на OpenWeatherMap?

Здравствуйте!
Пишу приложение прогноза погоды. Организовал ввод названия города через меню и вот таким образом:
private void showInputDialog() {
        AlertDialog.Builder builder = new AlertDialog.Builder(this);
        builder.setTitle("Change city");
        final EditText input = new EditText(this);
        input.setInputType(InputType.TYPE_CLASS_TEXT);
        builder.setView(input);
        builder.setPositiveButton("Go", new DialogInterface.OnClickListener() {
            @Override
            public void onClick(DialogInterface dialog, int which) {
                getWeather(v, input.getText().toString());
            }
        });
        builder.show();

Данная конструкция принимает только латиницу. Как сделать так чтобы можно было вводит кириллицей и принимает ли ее open weather map, а то я в документации об этом не нашел ничего?
  • Вопрос задан
  • 356 просмотров
Пригласить эксперта
Ответы на вопрос 2
LaRN
@LaRN
Senior Developer
У этого API есть возможность задать вместо названия города координаты.
api.openweathermap.org/data/2.5/weather?lat={lat}&lon={lon}&appid={API key}

Можно иметь в приложении локализованную базу городов с координатами и апи звать всегда по координатам, а название города можно тогда на любом языке вводить.

Можно даже попробовать не хранить координаты городов в приложении, а условно гуглить по имени города или получать геолокацию с устройства на котором запущено приложение.
Ответ написан
azerphoenix
@azerphoenix Куратор тега Java
Java Software Engineer
Добрый день!
Вот, что написано в документации по поводу названия городов.
By city name. Input the city name or its part and get the list of the most proper cities in the world. Example - Lon or Lond or London. The more precise city name you put the more precise list you will get. To make it more precise put the city's name or its part, comma, the name of the county or 2-letter country code. You will get all proper cities in chosen county. The order is important - the first is city name than comma than county. Example - Lon, UK or Lon, GB or London, GB or Lon, England. By geographic coordinates.


Соответственно, с кириллицей не работает. Но вы можете добавить такой функционал. Например, в приложении заведите enum с англ. и с русскими названиями городов. Например, LONDON ("London", "Лондон")

Организовал ввод названия города через меню и вот таким образом

Я бы например, сделал бы не ввод названия города, а выбор из выпадающего списка. А то мало ли на какой языке пользователь решит ввести название города.
Ответ написан
Ваш ответ на вопрос

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

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