我正在使用地理编码器类来查找地址字符串中的纬度和经度。
这是我的代码:
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)
我不明白为什么。 也许有人可以给我一些建议吗?
答案 0 :(得分:5)
这是一个持久的问题吗? IOException
可能表示远程请求由于某种相对较低级别的原因而失败;而docs证实了这一点:
如果网络不可用或发生任何其他I / O问题,则抛出
IOException
在任何情况下,看起来你的调用方法都不会有问题 - 当时设备可能没有接收/连接?