Android 反向地理编码问题
我下面的代码没有给出任何结果Android 反向地理编码问题,android,geocode,Android,Geocode,我下面的代码没有给出任何结果 list_addr = gc.getFromLocation(latitude, longitude, 5); 甚至不返回null值 它的行为像哑巴 给我一个解决方案。试试这个 List<Address> addresses = new Geocoder(MyActivity.this,Locale.getDefault()).getFromLocation(latitude, longitude, 1); List addresses=new G
list_addr = gc.getFromLocation(latitude, longitude, 5);
甚至不返回null
值
它的行为像哑巴
给我一个解决方案。试试这个
List<Address> addresses = new Geocoder(MyActivity.this,Locale.getDefault()).getFromLocation(latitude, longitude, 1);
List addresses=new Geocoder(MyActivity.this,Locale.getDefault()).getFromLocation(纬度,经度,1);
返回结果(即使结果为null)或引发异常
您是否在代码中的某个地方静默地捕获一般异常
更新:
使用此代码,然后检查logcat。它应该给你一个这样做不起作用的原因:
Geocoder gc = new Geocoder(getApplicationContext(), Locale.getDefault());
try {
List<Address> list_addr = gc.getFromLocation(40.0d, 10.0d, 5);
} catch (IllegalArgumentException iae) {
Log.e("Geocoder IllegalArgumentException exception: ", iae.getMessage());
} catch (IOException ioe) {
Log.e("Geocoder IOException exception: ", ioe.getMessage());
}
Geocoder gc=new Geocoder(getApplicationContext(),Locale.getDefault());
试一试{
列表它返回什么?纬度和经度是什么值?纬度=Double.parseDouble(纬度\u edtext.getText().toString());经度=Double.parseDouble(经度\u edtext.getText().toString());当捕获异常时,您会做什么?默默地忽略它?javadoc说:“如果平台中没有后端服务,Geocoder查询方法将返回一个空列表。”此外,Geocoder需要internet访问。您请求权限了吗?@peter:是的,我在menifest文件中请求了权限。我输入了23.03957和72.56600