2012-03-14 15 views

Odpowiedz

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

zapraszamy! :) – Natali

+0

@Natali tak słodko ...... – Satyam

+1

@ Satam Srivastava :) – Natali

10

Można użyć Android Geocoder zrobić odwrotny geokodowanie:

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

obejmują również następujące w AndroidManifest.xml:

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

Należy również pamiętać, że trzeba być przy użyciu API, które obejmuje realizację Geocoder . Dostępne interfejsy API to na przykład interfejsy API Google Androida. Możesz użyć numeru Geocoder.isPresent(), aby sprawdzić, czy istnieje implementacja docelowego interfejsu API.

Zapoznaj się z Geocoderdocumentation aby uzyskać więcej informacji.

+0

dziękuję @ 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(); 
} 

manifestują uprawnienia: -

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

dziękuję bardzo –

+1

serdecznie zapraszamy :) – Prachi

2

stosowanie manifestu uprawnienia jak

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

i iść z tym

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

Czy naprawdę potrzebujemy połączenia z Internetem, aby odkodować punkty geo? – Santhosh

+2

@SANTHOSH Tak, oczywiście, nie ma lokalnej bazy danych adresów. – Blacklight

Powiązane problemy