我的下面代码没有给出任何结果。
list_addr = gc.getFromLocation(latitude, longitude, 5);
甚至不会返回null
值......
它表现得像个哑巴。
给我解决方案。
答案 0 :(得分:1)
Geocoder.getFromLocations(double, double, int)
或者返回一个结果(即使是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());
}
<强> UPDATE2:强>
这是模拟器v2.2中的一个错误:Android; Geocoder, why do I get "the service is not available"?
答案 1 :(得分:0)
试试这个
List<Address> addresses = new Geocoder(MyActivity.this,Locale.getDefault()).getFromLocation(latitude, longitude, 1);