2012-03-14 21 views

Respuesta

64
Geocoder geocoder = new Geocoder(<your context>); 
List<Address> addresses; 
addresses = geocoder.getFromLocationName(<String address>, 1); 
if(addresses.size() > 0) { 
    double latitude= addresses.get(0).getLatitude(); 
    double longitude= addresses.get(0).getLongitude(); 
} 
+1

¡eres bienvenido! :) – Natali

+0

@Natali tan dulce ...... – Satyam

+1

@Satyam Srivastava :) – Natali

10

Puede usar Android de Geocoder hacer geocodificación inversa:

Geocoder geocoder = new Geocoder(this, Locale.getDefault()); 
List<Address> addresses = geocoder.getFromLocationName(myLocation, 1); 
Address address = addresses.get(0); 
double longitude = address.getLongitude(); 
double latitude = address.getLatitude(); 

también incluyen lo siguiente en AndroidManifest.xml:

<uses-permission android:name="android.permission.INTERNET"/> 

También tenga en cuenta que tiene que ser mediante una API que incluye una aplicación Geocoder . Las API que incluyen esto son las Google API de Android, por ejemplo. Puede usar Geocoder.isPresent() para verificar si existe una implementación para su API objetivo.

Consulte la Geocoderdocumentation para obtener más información.

+0

gracias @tyler. –

2
List<Address> addresses; 
addresses = geocoder.getFromLocationName(<String address>, 1); 
if(addresses.size() > 0){ 
double latitude= addresses.get(0).getLatitude(); 
double longitude= addresses.get(0).getLongitude(); 
} 

permisos de manifiesto siguientes: -

android.permission.INTERNET 
android.permission.ACCESS_COARSE_LOCATION 
android.permission.ACCESS_FINE_LOCATION 
android.permission.ACCESS_MOCK_LOCATION 
+1

muchas gracias –

+1

eres bienvenido :) – Prachi

2

uso permisos se manifiestan como

android.permission.INTERNET 
android.permission.ACCESS_COARSE_LOCATION  
android.permission.ACCESS_FINE_LOCATION 
android.permission.ACCESS_MOCK_LOCATION 

y vaya con este

Geocoder geocoder = new Geocoder(this, Locale.getDefault()); 
List<Address> addresses = geocoder.getFromLocationName(myLocation, 1); 
Address address = addresses.get(0); 
if(addresses.size() > 0) { 
    double latitude = addresses.get(0).getLatitude(); 
    double longitude = addresses.get(0).getLongitude(); 
} 
+0

¿Realmente necesitamos conectividad a Internet para decodificar los puntos geográficos? – Santhosh

+2

@SANTHOSH Sí, por supuesto, no hay una base de datos local de direcciones. – Blacklight

Cuestiones relacionadas