2012-03-14 9 views

risposta

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

siete i benvenuti! :) – Natali

+0

@Natali così dolce ...... – Satyam

+1

@Satyam Srivastava :) – Natali

10

È possibile utilizzare Android di Geocoder fare geocoding inverso:

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(); 

inserire anche le seguenti in AndroidManifest.xml:

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

anche notare che è necessario utilizzare un'API, che include un'implementazione Geocoder . Le API che includono questa sono le API di Google Android, ad esempio. È possibile utilizzare Geocoder.isPresent() per verificare se esiste un'implementazione per l'API di destinazione.

Verificare il Geocoderdocumentation per ulteriori informazioni.

+0

grazie @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(); 
} 

permessi manifesto: -

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

grazie mille –

+1

siete i benvenuti :) – Prachi

2

Utilizza le autorizzazioni manifestano come

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

e andare con questo

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

Abbiamo davvero bisogno di connettività internet per decodificare i punti geo ?? – Santhosh

+2

@SANTHOSH Sì, certo, non esiste un database locale di indirizzi. – Blacklight

Problemi correlati