Phương thức watchPosition()/API trong HTML5



Miêu tả

Phương thức watchPosition thu nhận các cập nhật định kỳ về vị trí địa lý hiện tại của thiết bị. Vị trí này được biểu diễn như là một tập hợp các tọa độ địa lý cùng với thông tin về Heading và tốc độ.

Thông tin vị trí được trả về trong một đối tượng Position. Mỗi update trả về một đối tượng Position mới.

Cú pháp

Sau đây là cú pháp của phương thức trên:

watchPosition(showLocation, ErrorHandler, options);

Các tham số

Dưới đây chúng ta bàn luận chi tiết về các tham số:

  • showLocation : Nó xác định phương thức callback mà thu nhận thông tin vị trí. Phương thức này được gọi không đồng bộ với một đối tượng tương ứng với đối tượng Position mà lưu thông tin vị trí được trả về.

  • ErrorHandler : tham số tùy ý này xác định phương thức callback mà được gọi khi một lỗi xảy ra trong khi xử lý việc gọi không đồng bộ. Phương thức này được gọi với đối tượng PositionError mà lưu thông tin lỗi được trả về.

  • options : tham số tùy ý này xác định tập hợp các tùy chọn để thu nhận thông tin vị trí. Bạn có thể xác định: (a) Sự chính xác của thông tin vị trí trả về (b) Timeout cho việc thu nhận thông tin vị trí và (c) Sử dụng thông tin vị trí đã bắt được.

Giá trị trả về

Phương thức watchPosition trả về một ID giao dịch duy nhất được liên kết với triệu hồi không đồng bộ. Sử dụng ID này để hủy triệu hồi watchPosition và để dừng thu nhận các cập nhật vị trí.

Quảng cáo

Ví dụ

<!DOCTYPE HTML>
<head>
<script type="text/javascript">
var watchID;
var geoLoc;

function showLocation(position) {
  var latitude = position.coords.latitude;
  var longitude = position.coords.longitude;
  alert("Latitude : " + latitude + " Longitude: " + longitude);
}

function errorHandler(err) {
  if(err.code == 1) {
    alert("Error: Access is denied!");
  }else if( err.code == 2) {
    alert("Error: Position is unavailable!");
  }
}
function getLocationUpdate(){

   if(navigator.geolocation){
      // timeout at 60000 milliseconds (60 seconds)
      var options = {timeout:60000};
      geoLoc = navigator.geolocation;
      watchID = geoLoc.watchPosition(showLocation, 
                                     errorHandler,
                                     options);
   }else{
      alert("Sorry, browser does not support geolocation!");
   }
}
</script>
</head>
<html>
<body>
   <form>
     <input type="button" onclick="getLocationUpdate();"  
                             value="Watch Update"/>
   </form>
</body>
</html>

Nó sẽ cho kết quả sau:

Đã có app VietJack trên điện thoại, giải bài tập SGK, SBT Soạn văn, Văn mẫu, Thi online, Bài giảng....miễn phí. Tải ngay ứng dụng trên Android và iOS.

Theo dõi chúng tôi miễn phí trên mạng xã hội facebook và youtube:

Follow fanpage của team https://www.facebook.com/vietjackteam/ hoặc facebook cá nhân Nguyễn Thanh Tuyền https://www.facebook.com/tuyen.vietjack để tiếp tục theo dõi các loạt bài mới nhất về Java,C,C++,Javascript,HTML,Python,Database,Mobile.... mới nhất của chúng tôi.


geolocation_trong_html5.jsp


Tài liệu giáo viên