【问题标题】:Service not available when I try to get address from Geocoder in android?当我尝试从 android 中的 Geocoder 获取地址时服务不可用?
【发布时间】:2013-09-30 06:20:57
【问题描述】:

当我尝试通过 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)

【问题讨论】:

  • 您在清单文件中添加了

标签: android google-maps location


【解决方案1】:

API 文档,

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

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

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

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

【讨论】:

  • 哦,是的,抱歉,这是个错误....我同时启用了 GPS 和网络,但还是一样
  • 启用网络并不意味着它始终可用。
  • 那么解决办法是什么?
  • 你可以试三遍还是不行,通知用户(或采取必要的错误处理措施,视应用需求而定)也可以看看stackoverflow.com/a/11928881/721597
  • 另请查看stackoverflow.com/questions/10641346/… 了解更多解决方案
猜你喜欢
  • 1970-01-01
  • 2011-06-08
  • 1970-01-01
  • 2022-12-07
  • 2011-10-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-07-03
相关资源
最近更新 更多