Làm thế nào để tôi có được tọa độ gps của vị trí/địa chỉ được người dùng nhập trong android?Cách lấy tọa độ của một địa chỉ trong android
Trả lời
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();
}
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á Geocoder
documentation để biết thêm thông tin.
cảm ơn bạn @tyler. –
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
cảm ơn bạn rất nhiều –
bạn được chào đón :) – Prachi
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();
}
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
@SANTHOSH Có, tất nhiên, không có cơ sở dữ liệu địa phương của địa chỉ. – Blacklight
tôi sẽ không tìm thấy một chính xác s vậy .. @herschel –