时间:2021-07-01 10:21:17 帮助过:205人阅读
微信公众号实时获取快递员的位置,有没有什么好的方案或接口
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/...