首页 > 后端开发 > php教程 > 手机Web端如何做到实时定位

手机Web端如何做到实时定位

WBOY
发布: 2016-10-10 11:56:18
原创
2345 人浏览过

微信公众号实时获取快递员的位置,有没有什么好的方案或接口

回复内容:

微信公众号实时获取快递员的位置,有没有什么好的方案或接口

Html5本身就可以获取到地理位置(WGS-84)

但是前提是快递员一直打开那个网页不黑屏,黑屏之后网页中的脚本会被暂停(所以GPS也会被停止)。

公众号只会在进入主界面时,会去读取坐标并上传到后台。进到Web页面之后,权限会缩小的和HTML一样。
公众号的JS API不会持续的获取坐标,除非setInterval不停去取,黑屏之后一样会停止JS。

如果需要实时上传快递员的坐标到服务器,只有APP这条路。


Web端获取地理位置方法:navigator.geolocation 有三个函数:

<code>void getCurrentPosition(onSuccess,onError,options);
//获取用户当前位置

int watchCurrentPosition(onSuccess,onError,options);
//持续获取当前用户位置

void clearWatch(watchId);
//watchId 为watchCurrentPosition返回的值
//取消监控</code>
登录后复制
<code>
function getLocation(){
   var options={
       enableHighAccuracy:true, 
       maximumAge:1000
   }
   if(navigator.geolocation){
       //浏览器支持geolocation
       navigator.geolocation.watchCurrentPosition(onSuccess,onError,options);
   }else{
       //浏览器不支持geolocation
   }
}

//成功时
function onSuccess(position){
   //返回用户位置
   //经度
   var longitude =position.coords.longitude;
   //纬度
   var latitude = position.coords.latitude;

}

//失败时
function onError(error){
   switch(error.code){
       case 1:
       alert("位置服务被拒绝");
       break;

       case 2:
       alert("暂时获取不到位置信息");
       break;

       case 3:
       alert("获取信息超时");
       break;

       case 4:
        alert("未知错误");
       break;
   }
}


//开始获得
getLocation();</code>
登录后复制

WGS-84如何转换成腾讯/百度等坐标请移步 https://www.oschina.net/code/...

相关标签:
来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板