API Geolocation của HTML5 cho phép bạn chia sẻ vị trí với các trang web. JavaScript có thể lấy vĩ độ và kinh độ, gửi đến máy chủ backend để thực hiện các tác vụ nhận biết vị trí như tìm doanh nghiệp địa phương hoặc hiển thị vị trí trên bản đồ.
Geolocation khá phức tạp, do đó bắt lỗi và xử lý một cách khéo léo là rất cần thiết.
Các phương thức getCurrentPosition() và watchPosition() sử dụng một hàm callback xử lý lỗi, trả về đối tượng PositionError. Đối tượng này có hai thuộc tính:
| Thuộc tính | Kiểu | Mô tả |
|---|---|---|
| code | Number | Chứa mã số cho lỗi |
| message | String | Chứa thông báo mô tả lỗi |
Bảng sau mô tả các mã lỗi có thể trả về trong đối tượng PositionError:
| Mã | Hằng số | Mô tả |
|---|---|---|
| 0 | UNKNOWN_ERROR | Phương thức không thể lấy vị trí thiết bị do lỗi không xác định |
| 1 | PERMISSION_DENIED | Ứng dụng không có quyền sử dụng Dịch vụ Vị trí |
| 2 | POSITION_UNAVAILABLE | Không thể xác định vị trí thiết bị |
| 3 | TIMEOUT | Không thể lấy thông tin vị trí trong khoảng thời gian tối đa cho phép |
Dưới đây là cách sử dụng đối tượng PositionError. errorHandler là một phương thức callback:
function errorHandler(err) {
if(err.code == 1) {
alert("Lỗi: Truy cập bị từ chối!");
} else if(err.code == 2) {
alert("Lỗi: Vị trí không khả dụng!");
}
}