Android Geocoder returns an empty address

I am trying to get the location address from Geocoder, I can get the latitude and longitude, but it returns the address with zero length.

Here is my code snippet

double longi = location.getLongitude(); double latt = location.getLatitude(); Geocoder geocoder = new Geocoder(getApplicationContext(), Locale.ENGLISH); String add=""; try { List<Address> address = geocoder.getFromLocation(latt/1E6,longi/1E6, 1); System.out.println("in location listener "+address.size()); int i=0; if(address.size()>0) { for(i=0;i<address.get(0).getMaxAddressLineIndex();i++) { add += address.get(0).getAddressLine(i); } Toast toast = new Toast(getApplicationContext()); toast.makeText(getApplicationContext(), add, Toast.LENGTH_LONG).show(); } } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } 

Please help me fix this. Thanks in advance!

+6
source share
2 answers

Geocoder request methods will return an empty list if there is no backend service on the platform. Use the isPresent () method to determine if a Geocoder implementation exists.

See the geocoding documentation for more information .

+6
source

I think your project is not aiming for the right AVD. To use geolocation, you must specify that avd implements the Google API. As soon as you change this, everything will work fine.

Install the Google API Add-on

0
source

Source: https://habr.com/ru/post/915163/


All Articles