当我尝试从Android中的Geocoder获取地址时服务不可用?

时间:2013-09-30 06:20:58

标签: android google-maps location

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

1 个答案:

答案 0 :(得分:-1)

API文档,

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

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

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

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