HTML - Geolocation clearWatch()API



HTML Geolocation clearWatch() 方法用于取消我们设备上正在进行的 watchPosition 调用。为了应用 watchPosition 调用,我们使用 watchPosition() 方法,该方法会在设备位置发生变化时自动更新。

取消后,watchPosition 调用将停止检索有关设备当前地理位置的更新。

语法

这是HTML Geolocation clearWatch()方法的语法 -


clearWatch(watchId);

参数

这是参数的详细信息 -

  • watchId − 这指定了要取消的 watchPosition 调用的唯一 ID。该 ID 由 watchPosition 调用返回。

返回值

HTML Geolocation 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>

在执行时,此代码将生成两个按钮。单击第一个将要求进行地理位置更新,单击第二个将停止更新。