HTML - Geolocation getCurrentPosition() API



HTML 地理位置 getCurrentPosition() 方法检索设备的当前地理位置。位置表示为一组地理坐标以及有关航向和速度的信息。位置信息在 Position 对象中返回。

语法

以下是HTML Geolocation getCurrentPosition()方法的语法 -


getCurrentPosition(showLocation, ErrorHandler, options);

参数

HTML Geolocation getCurrentPosition() 方法接受以下参数 -

  • showLocation - 这指定了检索位置信息的回调方法。此方法与与 Position 对象对应的对象异步调用,该对象存储返回的位置信息。
  • ErrorHandler − 此可选参数指定在处理异步调用时发生错误时调用的回调方法。此方法与存储返回的错误信息的 PositionError 对象一起调用。
  • options − 此可选参数指定一组用于检索位置信息的选项。您可以指定 (a) 返回位置信息的准确性,(b) 检索位置信息的超时,以及 (c) 缓存位置信息的使用。

返回值

getCurrentPosition() 方法不返回值。

让我们看一个getCurrentPosition()方法的例子 -


<!DOCTYPE HTML>

<html>
	 	<head>
	 	
	 	 	 <script type = "text/javascript">
		 			 	
	 	 	 	 	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 getLocation() {

	 	 	 	 	 	 if(navigator.geolocation) {
	 	 	 	 	 	 	 	
	 	 	 	 	 	 	 	// timeout at 60000 milliseconds (60 seconds)
	 	 	 	 	 	 	 	var options = {timeout:60000};
	 	 	 	 	 	 	 	navigator.geolocation.getCurrentPosition(showLocation, errorHandler, options);
	 	 	 	 	 	 } else {
	 	 	 	 	 	 	 	alert("Sorry, browser does not support geolocation!");
	 	 	 	 	 	 }
	 	 	 	 	}
		 			 			 	
	 	 	 </script>
	 	</head>
	 	<body>
	 	 		
	 	 	 <form>
	 	 	 	 	<input type = "button" onclick = "getLocation();" value = "Get Location"/>
	 	 	 </form>
	 	 		
	 	</body>
</html>

当我们执行上述代码时,它将生成一个按钮,单击该按钮将提示用户的设备位置。