I am writting an application which needs to find the current location. The code is returning lattitude and longitude correctly but doesnt return the real address(reverse geocoding) what could be problem. Someone please help, i am new to android. I am testing on emulator with android 4.0 updateWithNewLocation() is called from onLocationChanged(Location loc) method
void updateWithNewLocation(Location location)
{
if (location != null)
{
double lat = 29.00;//location.getLatitude();
double lng = 77.0;//location.getLongitude();
longitudeLattitudeString="Lattitude :"+lat+" Longitude :"+lng;
Geocoder gc = new Geocoder(this, Locale.getDefault());
try
{
List<Address> addresses = gc.getFromLocation(lat, lng, 1);
StringBuilder sb = new StringBuilder();
//Toast.makeText(this, "Problem1", 2000).show();
if (addresses.size() > 0)
{
Address address = addresses.get(0);
for (int i = 0; i < address.getMaxAddressLineIndex(); i++)
sb.append(address.getAddressLine(i)).append("\n");
sb.append(address.getLocality()).append("\n");
Toast.makeText(this, "Problem2", 2000).show();
sb.append(address.getPostalCode()).append("\n");
sb.append(address.getCountryName());
}
else
{
addressString=" No Location";
//Toast.makeText(this, "Problem3", 2000).show();
}
addressString = sb.toString();
}
catch (IOException e)
{
//Toast.makeText(thisContext, "Problem : InCatch", 2000).show();
}
}
else
{
longitudeLattitudeString = "No location found";
}
}