API định vị địa lý HTML được sử dụng để xác định vị trí của người dùng.
Định vị vị trí của người dùng
API định vị địa lý HTML được sử dụng để có được vị trí địa lý của người dùng.
Vì điều này có thể thỏa hiệp quyền riêng tư, vị trí không có sẵn trừ khi người dùng chấp thuận.
Lưu ý: Định vị địa lý là chính xác nhất cho các thiết bị có GPS, như điện thoại thông minh.Geolocation is most accurate for devices with GPS, like smartphones.
Hỗ trợ trình duyệt
Các số trong bảng chỉ định phiên bản trình duyệt đầu tiên hỗ trợ đầy đủ định vị địa lý.
Địa lý | 5.0 - 49.0 [HTTP] 50.0 [HTTPS] 50.0 [https] | 9.0 | 3.5 | 5.0 | 16.0 |
Lưu ý: Kể từ Chrome 50, API định vị địa lý sẽ chỉ hoạt động trên các bối cảnh an toàn như HTTPS. Nếu trang web của bạn được lưu trữ trên nguồn gốc không an toàn [chẳng hạn như HTTP], các yêu cầu để có được vị trí người dùng sẽ không còn hoạt động. As of Chrome 50, the Geolocation API will only work on secure contexts such as HTTPS. If your site is hosted on an non-secure origin [such as HTTP] the requests to get the users location will no longer function.
Sử dụng định vị địa lý HTML
Phương thức getCurrentPosition[]
được sử dụng để trả về vị trí của người dùng.
Ví dụ dưới đây trả về vĩ độ và kinh độ của vị trí người dùng:
Thí dụ
var x = document.getEuityById ["demo"]; function getLocation [] {& nbsp; & nbsp; if [navigator.geoLocation] {& nbsp; & nbsp; & nbsp; navigator.geoLocation.getCienPocation [showPocation]; & nbsp; & nbsp;} other {& nbsp; & nbsp; & nbsp; x.innerhtml = "định vị địa lý không được hỗ trợ bởi trình duyệt này."; & nbsp; & nbsp;}}
var x =
document.getElementById["demo"];
function getLocation[] {
if [navigator.geolocation] {
navigator.geolocation.getCurrentPosition[showPosition];
} else {
x.innerHTML = "Geolocation is not supported by this browser.";
}
}
Hiển thị chức năng [vị trí] {& nbsp; x.innerhtml = "Latitude:" + vị trí.coords.latitude + & nbsp; & nbsp; "kinh độ:" + vị trí.coords.longitude; }
x.innerHTML = "Latitude: " + position.coords.latitude +
"
Longitude: " + position.coords.longitude;
}
Hãy tự mình thử »
Ví dụ giải thích:
- Kiểm tra xem định vị địa lý có được hỗ trợ không
- Nếu được hỗ trợ, hãy chạy phương thức GetCienPocation []. Nếu không, hãy hiển thị thông báo cho người dùng
- Nếu phương thức GetCienPocation [] thành công, nó sẽ trả về một đối tượng tọa độ cho hàm được chỉ định trong tham số [hiển thị]
- Hàm showpocation [] đưa ra vĩ độ và kinh độ
Ví dụ trên là một tập lệnh định vị địa lý rất cơ bản, không có xử lý lỗi.
Xử lý lỗi và từ chối
Tham số thứ hai của phương thức getCurrentPosition[]
được sử dụng để xử lý các lỗi. Nó chỉ định một chức năng để chạy nếu nó không nhận được vị trí của người dùng:
Thí dụ
var x = document.getEuityById ["demo"]; function getLocation [] {& nbsp; & nbsp; if [navigator.geoLocation] {& nbsp; & nbsp; & nbsp; navigator.geoLocation.getCienPocation [showPocation]; & nbsp; & nbsp;} other {& nbsp; & nbsp; & nbsp; x.innerhtml = "định vị địa lý không được hỗ trợ bởi trình duyệt này."; & nbsp; & nbsp;}}
switch[error.code] {
case error.PERMISSION_DENIED:
x.innerHTML =
"User denied the request for Geolocation."
break;
case error.POSITION_UNAVAILABLE:
x.innerHTML = "Location information is unavailable."
break;
case error.TIMEOUT:
x.innerHTML = "The request to get user location timed out."
break;
case
error.UNKNOWN_ERROR:
x.innerHTML = "An unknown error occurred."
break;
}
}
Hãy tự mình thử »
Ví dụ giải thích:
Kiểm tra xem định vị địa lý có được hỗ trợ không
Nếu được hỗ trợ, hãy chạy phương thức GetCienPocation []. Nếu không, hãy hiển thị thông báo cho người dùng
- Nếu phương thức GetCienPocation [] thành công, nó sẽ trả về một đối tượng tọa độ cho hàm được chỉ định trong tham số [hiển thị]
- Hàm showpocation [] đưa ra vĩ độ và kinh độ
- Ví dụ trên là một tập lệnh định vị địa lý rất cơ bản, không có xử lý lỗi.
Xử lý lỗi và từ chối
Tham số thứ hai của phương thức getCurrentPosition[]
được sử dụng để xử lý các lỗi. Nó chỉ định một chức năng để chạy nếu nó không nhận được vị trí của người dùng:
Trang này đã trình diễn cách hiển thị vị trí của người dùng trên bản đồ. | Định vị địa lý cũng rất hữu ích cho thông tin cụ thể về vị trí, như: |
Thông tin địa phương cập nhật | Hiển thị điểm lãi suất gần người dùng |
Điều hướng từng lượt [GPS] | Phương thức GetCienPocation [] - Trả về dữ liệu |
Phương thức getCurrentPosition[] trả về một đối tượng về thành công. Các thuộc tính vĩ độ, kinh độ và độ chính xác luôn được trả lại. Các thuộc tính khác được trả về nếu có: | Tài sản |
Trả lại | Phối hợp |
Vĩ độ như một số thập phân [luôn luôn được trả lại] | phối hợp. Longitude |
Kinh độ như một số thập phân [luôn luôn được trả lại] | Phối hợp.accuracy |
Độ chính xác của vị trí [luôn luôn được trả lại] | Phối hợp |
Độ cao tính bằng mét trên mực nước biển trung bình [trả về nếu có]
Phối hợp.Altitudeaccuracy
- Độ chính xác độ cao của vị trí [trả về nếu có]
- phối hợp. Đầu
Tiêu đề theo độ theo chiều kim đồng hồ từ Bắc [trở lại nếu có]
Thí dụ
var x = document.getEuityById ["demo"]; function getLocation [] {& nbsp; & nbsp; if [navigator.geoLocation] {& nbsp; & nbsp; & nbsp; navigator.geoLocation.getCienPocation [showPocation]; & nbsp; & nbsp;} other {& nbsp; & nbsp; & nbsp; x.innerhtml = "định vị địa lý không được hỗ trợ bởi trình duyệt này."; & nbsp; & nbsp;}}
var
x = document.getElementById["demo"];
function getLocation[] {
if [navigator.geolocation] {
navigator.geolocation.watchPosition[showPosition];
} else {
x.innerHTML = "Geolocation is not supported by this browser.";
}
}
function showPosition[position] {
x.innerHTML = "Latitude: " + position.coords.latitude +
"
Longitude: " + position.coords.longitude;
}
Hãy tự mình thử »