Android中根据坐标获取地址,一般用Geocoder,大概像下面这样:
try{
Geocoder geo = new Geocoder(NewCommentActivity.this, Locale.getDefault());
List<Address> addresses = geo.getFromLocation(23.0897174,113.3116872, 1);
if (addresses.isEmpty()) {
Log.i("location", "addressed is Empty");
}
else {
if (addresses.size() > 0) {
Log.i("location", addresses.get(0).getFeatureName() + ", " + addresses.get(0).getLocality() +", " + addresses.get(0).getAdminArea() + ", " + addresses.get(0).getCountryName());
}
}
}
当我使用这段代码在真机上运行时,报错:
java.io.IOException:Sevice not Available
at android.location.Geocoder.getFromLocation
Google了一下,都说是在模拟器上才有这个问题,真机不会有此问题。但我确确实实在真机上遇到了这个问题。
查看Android官方文档,发现人家已经说的很明白了ÿ