http://vietjack.com/html5/index.jsp Copyright © vietjack.com Geolocation HTML5 HTML5 Geolocation API cho bạn chia sẻ vị trí bạn với Website ưa thích Một Javascript nắm bắt vĩ độ kinh độ bạn gửi trở lại Webserver thực nhận biết vị trí tìm kiếm doanh nghiệp địa phương vị trí bạn đồ Ngày hầu hết trình duyệt thiết bị Mobile hỗ trợ Geolocation API Geolocation API làm việc với thuộc tính đối tượng điều hướng tồn cầu, ví dụ: đối tượng Geolocation mà tạo sau: var geolocation = navigator.geolocation; Đối tượng Geolocation đối tượng dịch vụ cho phép Widget để đạt thông tin vị trí địa lý thiết bị Phương thức Geolocation Đối tượng Geolocation cung cấp phương thức sau: Phương thức Miêu tả getCurrentPosition() Phương thức thu nhận vị trí địa lý người dùng watchPosition() Phương thức thu nhận cập nhật định kỳ vị trí địa lý thiết bị clearWatch() Phương thức hủy việc gọi watchPosition diễn Ví dụ Sau code mẫu để sử dụng phương thức trên: function getLocation() { var geolocation = navigator.geolocation; geolocation.getCurrentPosition(showLocation, errorHandler); } http://vietjack.com/ Trang chia sẻ các bài học online miễn phí http://vietjack.com/html5/index.jsp Copyright © vietjack.com Tại đây, showLocation errorHandler phương thức gọi lại (callback) mà sử dụng để nhận vị trí thực giải thích phần để xử lý lỗi có Các thuộc tính vị trí Các phương thức getCurrentPosition() getPositionUsingMethodName() xác định phương thức callback mà thu nhận thơng tin vị trí Những phương thức gọi không đồng với đối tượng Position mà lưu thơng tin vị trí đầy đủ Đối tượng Position xác định vị trí địa lý thiết bị Vị trí biểu diễn tập hợp tọa độ địa lý với thông tin heading tốc độ Bảng sau miêu tả thuộc tính đối tượng Position Với thuộc tính tùy ý, hệ thống cung cấp giá trị, giá trị thuộc tính thiết lập null Thuộc tính Kiểu Miêu tả coords objects Xác định vị trí địa lý thiết bị Vị trí biểu diễn tập hợp tọa độ địa lý với thông tin heading tốc độ coords.latitude Number Xác định ước lượng vĩ độ Dãy giá trị [-90.00, +90.00] coords.longitude Number Xác định ước lượng kinh độ Dãy giá trị [180.00, +180.00] coords.altitude Number [Tùy ý] Xác định ước lượng cao độ đơn vị mét mặt bầu dục WGS 84 coords.accuracy Number [Tùy ý] Xác định độ xác ước lượng vĩ độ đơn vị mét http://vietjack.com/ Trang chia sẻ các bài học online miễn phí http://vietjack.com/html5/index.jsp Copyright © vietjack.com coords.altitudeAccuracy Number [Tùy ý] Xác định độ xác ước lượng cao độ đơn vị mét coords.heading Number [Tùy ý] Xác định hướng thiết bị theo chiều kim đồng hồ liên quan tới giá trị North coords.speed Number [Tùy ý] Xác định tốc độ mặt đất thiết bị đơn vị m/s timestamp date Xác định thời gian thơng tin vị trí thu nhận đối tượng Position tạo Ví dụ Sau code mẫu mà sử dụng đối tượng Position Ở đây, phương thức showLocation phương thức callback: function showLocation( position ) { var latitude = position.coords.latitude; var longitude = position.coords.longitude; } Xử lý lỗi Geolocation phức tạp, cần thiết để phát lỗi xử lý lỗi đó: Các phương thức getCurrentPosition() watchPosition() sử dụng phương thức callback xử lý lỗi cho đối tượng PositionError Đối tượng có thuộc tính sau: Thuộc tính Kiểu Miêu tả code Number Chứa code giá trị số cho lỗi message String Chứa miêu tả người đọc lỗi Bảng sau miêu tả code lỗi có trả đối tượng PositionError: http://vietjack.com/ Trang chia sẻ các bài học online miễn phí http://vietjack.com/html5/index.jsp Copyright © vietjack.com Code Hằng số Miêu tả UNKNOWN_ERROR Phương thức thất bại việc thu nhận vị trí đối tượng lỗi PERMISSION_DENIED Phương thức thất bại việc thu nhận vị trí thiết bị ứng dụng không cho phép sử dụng Location Service POSITION_UNAVAILABLE Vị trí thiết bị khơng thể xác định TIMEOUT Phương thức thu nhận thông tin vị trí khoảng thời gian tối đa cho Ví dụ Dưới code mẫu sử dụng đối tượng PositionError Ở phương thức errorHandler phương thức callback: function errorHandler( err ) { } if (err.code == 1) { // access is denied } Các tùy chọn Position Sau cú pháp thực tế phương thức getCurrentPosition(): getCurrentPosition(callback, ErrorCallback, options) Ở đây, tham số thứ đối tượng PositionOptions xác định tập hợp tùy chọn để thu nhận vị trí địa lý thiết bị: Sau tùy chọn xác định tham số thứ ba: http://vietjack.com/ Trang chia sẻ các bài học online miễn phí http://vietjack.com/html5/index.jsp Copyright © vietjack.com Thuộc tính Kiểu Miêu tả enableHighAccuracy Boolean Xác định có hay khơng Widget muốn nhận ước lượng vị trí xác Theo mặc định False timeout Number Thuộc tính số phần nghìn giây (mili giây) ứng dụng web bạn sẵn lòng đợi cho vị trí maximumAge Number Xác định thời gian hết hạn đơn vị mili giây cho thơng tin vị trí thu nhận Ví dụ Sau code mẫu cách sử dụng phương thức trên: function getLocation() { var geolocation = navigator.geolocation; geolocation.getCurrentPosition(showLocation, errorHandler, {maximumAge: 75000}); } http://vietjack.com/ Trang chia sẻ các bài học online miễn phí ... Ví dụ Sau code mẫu cách sử dụng phương thức trên: function getLocation() { var geolocation = navigator .geolocation; geolocation. getCurrentPosition(showLocation, errorHandler, {maximumAge: 75000});... Trang chia sẻ các bài học online miễn phí http://vietjack.com /html5/ index.jsp ... var latitude = position.coords.latitude; var longitude = position.coords.longitude; } Xử lý lỗi Geolocation phức tạp, cần thiết để phát lỗi xử lý lỗi đó: Các phương thức getCurrentPosition() watchPosition()