java io ioexception unable to parse response from server geocoder
Asked Answered
T

5

11

I am using this code to get geographical addresses:

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";
}

Earlier I was getting an address list returned, but now I get, every time, this exception:

java.io.IOException unable to parse response from server 

Please help.

Tenpins answered 17/5, 2012 at 18:21 Comment(7)
... So there are two possibilites: 1: The network state changed and you are not getting a response from the server. Or, 2: You changed something that broke your code. Why don't you go back and make sure you didn't change anything from the time it was working until now. If all is good, make sure you can actually reach the server on the network though other means. If you are still having problems, show us your code and the Logcat (=Hillel
The previous and current code is 100% sameTenpins
So did you do the other things I suggested?Hillel
@David I did all the things you suggested.But not workingTenpins
So if you didn't change anything, then it would make sense that you're getting bad data from the server, no? The only suggestion I have other than to wait and try later is to clear your app's data or uninstall and reinstall the app incase the cache contains a bad, or corrupt, response.Hillel
Nothing is working in my case.Tenpins
I have the same issue, and fix in this answer -> https://mcmap.net/q/182130/-java-io-ioexception-unable-to-parse-response-from-server-at-getfromlocationnameWinterfeed
T
6

Finally I got the solution of my problem.

If you try to hit server very frequently(several times in a minute) for getting address from lat,long then you can get this exception.The solutions of this problem can be:

1-Please try to avoid several hits for address in a minute.
2-Run this code on different device.

If you want to run this code on same device then clear your app data(or uninstall your app) and wait for some time.

Tenpins answered 13/8, 2012 at 6:1 Comment(3)
I have tested this in two devices motorola and samsung. For Motorola i am able to get the data but for samsung device still i am unable to fix it. Did you get any other way to fix this.Maugham
@Atul Bhardwaj : I am too facing the same issue, still trying to resolve but no luck.Odie
As John mentioned, its working fine on some devices not on few devices.After sometime/ reboot of the device makes the same functionality to work on the devices that were not been before.Looks very strange!. Do anybody get any way to fix this ?Odie
D
2

I had the same problem with my Samsung Galaxy Tab 10.1. I search hours for a solution and nothing helped. To fix issues try following:

Go to Location settings and enable:

1.Use Wireless networks 2.Use GPS satellites

wait for GPS location fix

After this, geocoder server responded. Even when I disabled wireless and GPS Location, server was working. I think geocoder can only be used if you share your location with Google.

Disclimax answered 15/10, 2012 at 9:41 Comment(0)
M
0

My solution was:

Settings > Date & Time > Automatic date & time (Use network-provided time)
Morten answered 21/1, 2013 at 8:48 Comment(0)
F
0

My cause of the issue was not having the proper permissions for the geocoder

<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
Ferroconcrete answered 20/3, 2013 at 15:59 Comment(0)
A
0

I was getting the same problem. i added this permission

android.permission.WRITE_EXTERNAL_STORAGE

and it worked well.

Axel answered 17/2, 2014 at 10:32 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.