HTML5——多次定位请求

时间:2022-11-22 15:15:28
多次定位请求及点击一次 就不断的触发请求事件,和单次定位请求写法差不多,只需要将 navigator.geolocation.getCurrentPosition改为navigator.geolocation.watchPosition。

下面将一个小小Demo展示如下:

HTML5——多次定位请求

简要代码如下:

 

<!DOCTYPE html>
<html>
<head>
      
    <title></title>
</head>
<body>
<input type="button" value="点击获取地理信息" id="btnClick"/><br/>
<textarea style="width:400px;height:400px;border:1px solid blue;" id="t1"></textarea>
</body>
</html>
<script type="text/javascript">
    //基于地理信息的应用
    var btnClick=document.getElementById("btnClick");
    var t1=document.getElementById("t1");
    var timer=null;
    btnClick.onclick=function(){ //单次定位请求    ,及点击一次请求一次
       timer=navigator.geolocation.watchPosition(function(position){
       t1.value+="经度:"+position.coords.longitude+"\n";//获取经度信息
       },function(err){  //获得失败编号 0:不包含其它编号中的错 1:用户拒绝浏览器获取位置信息 2.尝试获取用户信息但失败了 3.timeout超时
        alert(err.code);//用户拒绝浏览器获取信息,弹出1
        navigator.geolocation.clearWatch(timer);//关闭多次请求
       },{ //数据收集:JSON的形式
            enableHighAcuracy:true, //设置更精确的查找
            timeout:3000, //设置请求超时的时间为3秒钟
            maximumAge:5000 //设置位置可以缓存的最大时间为5秒钟
       });
    }
</script>