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) {
          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>