当我尝试通过android的地理编码器类通过纬度和经度获取地址时,我有时会得到IOException。
很少发生这种情况,强行关闭我的申请。
private void locAdd(double latitude, double longitude) {
Geocoder geocoder = new Geocoder(ReportActivity.this,
Locale.getDefault());
try {
List<Address> addresses = geocoder.getFromLocation(latitude,
longitude, 1);
Log.e("Addresses", "-->" + addresses);
} catch (IOException e) {
e.printStackTrace();
}
}
这是我用来获取位置的代码。代码有问题吗? 我该如何解决?
Logcat
java.io.IOException: Unable to parse response from server
at android.location.Geocoder.getFromLocation(Geocoder.java:136)
at com.pstpl.crimeverify.CrimeReportActivity.locAdd(CrimeReportActivity.java:554)
at com.pstpl.crimeverify.CrimeReportActivity.access$10(CrimeReportActivity.java:549)
答案 0 :(得分:-1)
API文档,
表示如果网络不可用或发生任何其他I / O问题,将发生IOException。
我认为代码没有任何问题,因为它适用于“有时”。
顺便说一句,您将纬度1和经度作为方法参数传递,但您使用的是纬度和经度。