Computer >> Máy Tính >  >> Lập trình >> Javascript

Hủy cuộc gọi theo dõi đang diễn ra trong HTML5


Phương thức clearWatch hủy cuộc gọi watchPosition đang diễn ra. Khi bị hủy, cuộc gọi watchPosition sẽ ngừng truy xuất thông tin cập nhật về vị trí địa lý hiện tại của thiết bị.

<!DOCTYPE HTML>
<html>
   <head>
      <script>
         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!");
            }
         }

         function stopWatch(){
            geoLoc.clearWatch(watchID);
         }
      </script>
   </head>

   <body>
      <form>
         <input type = "button" onclick = "getLocationUpdate();" value = "Watch Update"/>
         <input type = "button" onclick = "stopWatch();" value = "Stop Watch"/>
      </form>
   </body>
</html>