java io ioexception无法解析服务器地理编码器的响应

Atu*_*waj 11 java gps android geolocation locationlistener

我使用此代码获取地理地址:

private String getAddress(Location location)
{
    try{
        List<Address>   addresses = new Geocoder(this,Locale.getDefault()).getFromLocation(location.getLatitude(), location.getLongitude(), 1);
        if(addresses!=null)
        {
            String address="Address not available";

            for(int i=0;i<addresses.size();i++) 
            {

                Address addre=addresses.get(i);

                String street=addre.getAddressLine(0);
                if(null==street)
                    street="";

                String city=addre.getLocality();
                if(city==null) city="";

                String state=addre.getAdminArea();
                if(state==null) state="";


                String country=addre.getCountryName();
                if(country==null) country="";

                address=street+", "+city+", "+state+", "+country;

            }
            return address;
        }

    }
    catch (Exception e) {
        return "Address not available";
    }
    return "Address not available";
}
Run Code Online (Sandbox Code Playgroud)

早些时候我收到了一个地址列表,但现在我每次都得到这个例外:

java.io.IOException unable to parse response from server 
Run Code Online (Sandbox Code Playgroud)

请帮忙.

Atu*_*waj 6

最后我得到了解决问题的方法.

如果你试图非常频繁地命中服务器(一分钟几次)从lat获取地址,那么你可以得到这个例外.这个问题的解决方案可以是:

1 - 请尽量避免在一分钟内收到几次点击.
2 - 在不同设备上运行此代码.

如果您想在同一设备上运行此代码,请清除您的应用数据(或卸载您的应用)并等待一段时间.