我尝试使用特定语言根据当前位置获得城市信息,就像下面这样,并且一切正常,但是在我的新项目中却无法正常工作!
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();
}
没关系,总是用英语设置城市名称!
答案 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()