当前位置: 首页 > 文档资料 > HTML5 入门教程 >

watchPosition()

优质
小牛编辑
124浏览
2023-12-01

描述 (Description)

watchPosition方法检索有关设备当前地理位置的定期更新。 该位置表示为一组地理坐标以及有关航向和速度的信息。

位置信息在Position对象中返回。 每次更新都会返回一个新的Position对象。

语法 (Syntax)

以下是此方法的语法 -

watchPosition(showLocation, ErrorHandler, options);

参数 (Parameters)

这是参数的细节 -

  • showLocation - 指定检索位置信息的回调方法。 该方法与对应于存储返回的位置信息的Position对象的对象异步调用。

  • ErrorHandler - 此可选参数指定在处理异步调用时发生错误时调用的回调方法。 使用PositionError对象调用此方法,该对象存储返回的错误信息。

  • options - 此可选参数指定一组用于检索位置信息的选项。 您可以指定(a)返回的位置信息的准确性(b)检索位置信息的超时和(c)缓存的位置信息的使用。

返回值

watchPosition方法返回与异步调用关联的唯一事务ID(编号)。 使用此ID取消watchPosition调用并停止接收位置更新。

例子 (Example)

<!DOCTYPE HTML>
<head>
   <html>
      <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!");
            }
         }
      </script>
   </head>
   <body>
      <form>
         <input type = "button" onclick = "getLocationUpdate();" value = "Watch Update"/>
      </form>
   </body>
</html>