0

有时,当我尝试通过 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();
    }
}

这是我用来获取位置的代码。代码有问题吗?我该如何解决?

日志猫

   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)
4

1 回答 1

-1

API 文档,

http://developer.android.com/reference/android/location/Geocoder.html#getFromLocation%28double,%20double,%20int%29

表示“如果网络不可用或发生任何其他 I/O 问题”将发生 IOException。

我认为代码没有任何问题,因为它适用于“有时”。

顺便说一句,您将 latitude1 和 longitude 作为方法参数传递,但您使用的是纬度和经度。

于 2013-09-30T06:28:07.927 回答