Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Javascript

ยกเลิกการเรียก watchPosition อย่างต่อเนื่องใน HTML5


วิธี clearWatch จะยกเลิกการเรียก watchPosition ที่กำลังดำเนินอยู่ เมื่อยกเลิก การเรียก watchPosition จะหยุดดึงข้อมูลอัปเดตเกี่ยวกับตำแหน่งทางภูมิศาสตร์ปัจจุบันของอุปกรณ์

<!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>