2012-03-14 39 views

Trả lời

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

bạn được chào đón! :) – Natali

+0

@Natali rất ngọt ngào ...... – Satyam

+1

@Satyam Srivastava :) – Natali

10

Bạn có thể sử dụng Android của Geocoder để làm mã hóa địa lý ngược lại:

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

Cũng bao gồm trong AndroidManifest.xml:

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

Cũng lưu ý rằng bạn cần phải sử dụng một API trong đó bao gồm việc thực hiện Geocoder . Các API bao gồm đây là các API Android của Google chẳng hạn. Bạn có thể sử dụng Geocoder.isPresent() để kiểm tra xem có triển khai cho API được nhắm mục tiêu của mình hay không.

Khám phá Geocoderdocumentation để biết thêm thông tin.

+0

cảm ơn bạn @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(); 
} 

quyền biểu hiện: -

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

cảm ơn bạn rất nhiều –

+1

bạn được chào đón :) – Prachi

2

sử dụng quyền biểu hiện như

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

và đi với điều này

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

Chúng tôi có thực sự cần kết nối internet để giải mã các điểm địa lý không ?? – Santhosh

+2

@SANTHOSH Có, tất nhiên, không có cơ sở dữ liệu địa phương của địa chỉ. – Blacklight

Các vấn đề liên quan