Geocoder язык локали всегда возвращать английский - PullRequest
0 голосов
/ 06 сентября 2018

Я пытаюсь получить город в соответствии с текущим местоположением на определенном языке, я делаю это раньше, как показано ниже, и все работает хорошо, но в моем новом проекте это не работает!

 Geocoder geo = new Geocoder(getApplicationContext(), new Locale("ja"));
                        List<Address> addresses = null;
                        try {
                            addresses = geo.getFromLocation(location.getLatitude(), location.getLongitude(), 1);

                            if (addresses.size() > 0) {

                                Log.d("CITY",addresses.get(0).getLocality());
                                city.setText(addresses.get(0).getLocality());

                            } else {
                                // do your stuff
                            }
                        } catch (IOException e) {
                            e.printStackTrace();
                        }

Неважно, на каком языке будет установлен, всегда возвращайте название города с английским языком!

1 Ответ

0 голосов
/ 06 сентября 2018

после некоторого исследования, которое, как я понимаю, должно установить geo.getFromLocation maxResults > 1, потому что всегда первый адрес, возвращаемый в списке, возвращается с английским языком, но следующие пункты будут вашим конкретным языком, поэтому просто нужно изменить

addresses = geo.getFromLocation(location.getLatitude(), location.getLongitude(), 1);

до

addresses = geo.getFromLocation(location.getLatitude(), location.getLongitude(), 2); и getLocality вот так addresses.get(1).getLocality()

...