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

回复内容:

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

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

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

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

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


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

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

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

void clearWatch(watchId);
//watchId 为watchCurrentPosition返回的值
//取消监控
登录后复制

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();
登录后复制
09-05 01:47