地理位置 clearWatch() API



HTML 地理位置 **clearWatch()** 方法用於取消裝置上正在進行的 watchPosition 呼叫。要應用 watchPosition 呼叫,我們使用 **watchPosition()** 方法,該方法會在位置發生變化時自動更新裝置的位置。

取消後,watchPosition 呼叫將停止檢索有關裝置當前地理位置的更新。

語法

以下是 HTML 地理位置 **clearWatch()** 方法的語法:

clearWatch(watchId);

引數

以下是引數的詳細資訊:

  • **watchId** - 指定要取消的 watchPosition 呼叫的唯一 ID。該 ID 由 watchPosition 呼叫返回。

返回值

HTML 地理位置 **clearWatch()** 方法不返回值。

示例

以下程式碼演示瞭如何檢索和取消使用者裝置的地理位置資訊。showLocation() 方法用於檢索地理位置資料,stopWatch() 用於取消 watchPosition 呼叫。

<!DOCTYPE HTML>

<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!");
            }
         }
         
         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>

執行後,此程式碼將生成兩個按鈕。單擊第一個按鈕將請求地理位置更新,單擊第二個按鈕將停止更新。

html_geolocation.htm
廣告