我正在尝试根据经度和纬度使用地理编码器检索地址。有时我看到它抛出 IOException 说“服务不可用”并将地址返回为空。以下是我的相同代码:
public Address getAddress(double lat, double lng){
if(Constants.LOCAL_LOG)Log.v(Constants.LOG_TAG, "CustomLocationManager : getAddress() START");
Address address = null;
if(Geocoder.isPresent()){
Geocoder geocoder = new Geocoder(mContext);
try {
List<Address> addresses = geocoder.getFromLocation(lat, lng, 1);
if(addresses != null && addresses.isEmpty() == false){
address = addresses.get(0);
}
} catch (IOException e) {
Log.e(Constants.LOG_TAG, e.getMessage(), e);
}
}
if(Constants.LOCAL_LOG)Log.v(Constants.LOG_TAG, "CustomLocationManager : getAddress() END");
return address;
}
抛出 IOException 并出现“服务不可用”的情况是什么。
让我知道如何解决这个问题。任何帮助将不胜感激。