Maison > Article > développement back-end > 手机Web端如何做到实时定位
微信公众号实时获取快递员的位置,有没有什么好的方案或接口
微信公众号实时获取快递员的位置,有没有什么好的方案或接口
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/...