java.io.IOException:无法解析来自服务器的响应 - Geocoder Android

时间:2011-08-19 08:56:27

标签: java android

我正在使用地理编码器类来查找地址字符串中的纬度和经度。

这是我的代码:

geocoder=new Geocoder(FindFishActivity.this);
try {
    List<Address>foundLake=geocoder.getFromLocationName(strSearch,2);

    if(foundLake.size()==0)
    {
        Toast.makeText(this,"Sorry,could not find data",Toast.LENGTH_LONG);
    }
    else
    {
        for(int i=0;i<foundLake.size();i++)
        {
            Address address=foundLake.get(i);
            lat=address.getLatitude();

            lon=address.getLongitude();

            Log.i("Lakes",""+lat+""+lon);
            navigateToLocation((lat * 1000000), (lon * 1000000), mapview); 

        }
    }
} catch (IOException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
}

这是错误:

08-19 10:13:33.940: WARN/System.err(25910): java.io.IOException: Unable to parse
response from server
08-19 10:13:33.945: WARN/System.err(25910):     
at android.location.Geocoder.getFromLocationName(Geocoder.java:178)
08-19 10:13:33.945: WARN/System.err(25910):     
at com.amt.android.garage.Garage.postData(Garage.java:272)
08-19 10:13:33.945: WARN/System.err(25910):     
at com.amt.android.garage.GarageForm$2.onClick(GarageForm.java:86)
08-19 10:13:33.945: WARN/System.err(25910):     
at android.view.View.performClick(View.java:2538)
08-19 10:13:33.945: WARN/System.err(25910):     
at android.view.View$PerformClick.run(View.java:9152)
08-19 10:13:33.945: WARN/System.err(25910):     
at android.os.Handler.handleCallback(Handler.java:587)
08-19 10:13:33.945: WARN/System.err(25910):     
at android.os.Handler.dispatchMessage(Handler.java:92)
08-19 10:13:33.950: WARN/System.err(25910):       
at android.os.Looper.loop(Looper.java:123)
08-19 10:13:33.950: WARN/System.err(25910):     
at android.app.ActivityThread.main(ActivityThread.java:3691)
08-19 10:13:33.955: WARN/System.err(25910):     
at java.lang.reflect.Method.invokeNative(Native Method)
08-19 10:13:33.955: WARN/System.err(25910):     
at java.lang.reflect.Method.invoke(Method.java:507)
08-19 10:13:33.955: WARN/System.err(25910):     
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:847)
08-19 10:13:33.955: WARN/System.err(25910):     
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:605)
08-19 10:13:33.955: WARN/System.err(25910):     
at dalvik.system.NativeStart.main(Native Method)

我不明白为什么。 也许有人可以给我一些建议吗?

1 个答案:

答案 0 :(得分:5)

这是一个持久的问题吗? IOException可能表示远程请求由于某种相对较低级别的原因而失败;而docs证实了这一点:

  如果网络不可用或发生任何其他I / O问题,则

抛出IOException

在任何情况下,看起来你的调用方法都不会有问题 - 当时设备可能没有接收/连接?