Geocoder语言环境语言始终返回英语

时间:2018-09-06 05:21:15

标签: android geolocation locale android-location

我尝试使用特定语言根据当前位置获得城市信息,就像下面这样,并且一切正常,但是在我的新项目中却无法正常工作!

 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 :(得分:0)

经过一些研究,我了解必须设置geo.getFromLocation maxResults > 1,因为总是将第一个地址返回到列表中,以英语返回,但是下一项将是您的特定语言,因此只需要更改

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

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

这样的getLocality