我正在尝试使用 Geocoder 获取实际用户国家/地区。问题是有时它会以英语返回国家名称,而有时则以西班牙语返回。我在同一位置使用相同的物理设备。
如何定义地理编码器返回的国家名称?
我正在使用这个功能:
private static String getPais(double LATITUDE, double LONGITUDE,Context context) {
String strAdd = "";
String pais = "";
Geocoder geocoder = new Geocoder(context, Locale.getDefault());
try {
List<Address> addresses = geocoder.getFromLocation(LATITUDE, LONGITUDE, 1);
if (addresses != null) {
Address returnedAddress = addresses.get(0);
StringBuilder strReturnedAddress = new StringBuilder("");
for (int i = 0; i <= returnedAddress.getMaxAddressLineIndex(); i++) {
strReturnedAddress.append(returnedAddress.getAddressLine(i)).append("\n");
}
strAdd = strReturnedAddress.toString();
// provincia = returnedAddress.getAddressLine(2);
pais = addresses.get(0).getCountryName();
Log.w("My Current ion address", strReturnedAddress.toString());
} else {
Log.w("My Current tion address", "No Address returned!");
}
} catch (Exception e) {
e.printStackTrace();
Log.w("My Current loon address", "Canont get Address!");
}
//return strAdd;
return pais;
}