- 开发微信运动轨迹小程序后台位置信息遇到的问题与梳理
监听实时地理位置变化事件,需结合 wx.startLocationUpdateBackground、wx.startLocationUpdate使用。wx.onLocationChange 监听前后台位置信息变化设置及在息屏状态下不记录。 [图片] 注意事项: 1). wx.authorize({scope: "scope.userInfo"}),不会弹出授权窗口,请使用 : 安卓 8.0.0 , iOS 8.0.0 起,若开发者未通过wx.authorize({scope: 'scope.userLocation'})请求过位置权限,支持通过 wx.authorize({scope: 'scope.userLocationBackground'}) 唤起后台使用地理位置授权窗口。 低于以上版本,scope.userLocationBackground 不会弹窗提醒用户。需要用户在设置页中,主动将“位置信息”选项设置为“使用小程序期间和离开小程序后”。开发者可以通过调用wx.openSetting,打开设置页。 2). 需要授权 scope.userLocation、scope.userLocationBackground 时必须配置地理位置用途说明。 实现代码: wx.startLocationUpdateBackground({ success(res) { // 成功开启后 去调用位置监听 wx.onLocationChange(_locationChangeFn) that.addMarker() }, fail(res) { // 如果没有选择使用时和离开后 可以通过 wx.openSetting 打开设置手动授权 wx.showToast({ title: '开启后台定位失败', }) } }) _locationChangeFn: function(res){ console.log("location change", (new Date()).toString(), time++, res) // 在这里可以根据自己的需求,视情况进行位置信息操作 }, openLocaionListener: function(){ wx.onLocationChange(_locationChangeFn) // 开始监听位置变化 }, closeLocaionListener: function(){ wx.offLocationChange(_locationChangeFn) // 关闭监听位置变化 } 真机调试: 在手机屏幕点亮期间一直正常; 当手机息屏后onLocationChange没有被触发; 在锁屏状态下点亮屏幕后又开始触发,再次息屏后又不触发了 但是! 你每次地理位置变化的经纬度都被记录了,在屏幕点亮的时候,onLocationChange会触发多次将息屏时的位置信息都返回给你!如果有需要时间间隔记录经纬度的需求,只能通过对经纬度距离、速度判断,然后进行划分。 对于其他对经纬度有特殊需求的: 根据时间记录:在onLocationChange出发后判断时间间隔决定是否记录即可; 根据距离记录:判断当前点与上一个点的经纬度是否相同或者是否达到一定距离进行记录,不同在往后执行; speed 速断判断:当前点速度与上一点速度差是否合理 / 或者当前点速度为 0 不记录; 等距离判断:当前点与上一点之间的距离是否合理,是否存在拉直线状况,可自行根据实际情况与需求判断; 返回值精度:accuracy 暂无精度范围,官方暂无明确说明,可自行测试找符合自己需求的范围值(反正我是暂时是没有用精度判断)Android 无法获取垂直精度(verticalAccuracy),返回 0; 对于从高楼定位的问题,如十几层或二十几层甚至更高层楼坐电梯下来前后定位坐标偏差大,可参考以上四点; 原因梳理: 亮屏正常,但息屏不记录,可能原因: 小程序未开启选择使用时和离开后 ,所以只在亮屏时才记录; 手机设置中 微信 =》应用权限 =》位置信息 =》需要设置为 始终允许; 手机通话过程中不记录 需查看是否开通或支持VoLTE ==》部分手机 (如华为等一些老版型号的手机,现在大部分新型号手机都是支持的); 部分手机 型号 虽然以上都设置了但仍然没有记录 ,可能手机出于安全信息考虑不允许微信在后台获取位置信息 =》此暂无解决方法; 已记录,无效、重复或有偏差,偏差很大等; 判断当前点与上一个点的经纬度是否相同,不同在往后执行; speed 速断判断 =》当前点速度与上一点速度差是否合理 / 或者当前点速度为 0 不记录等; 距离判断 =》当前点与上一点之间的距离是否合理,是否存在拉直线状况,可自行根据实际情况与需求判断; 返回值精度 accuracy 暂无精度范围,官方暂无明确说明,可自行测试找符合自己需求的范围值(反正我是暂时是没有用精度判断)Android 无法获取垂直精度(verticalAccuracy),返回 0; 对于从高楼定位的问题,如十几层或二十几层甚至更高层楼坐电梯下来前后定位坐标偏差大,可参考以上四点; 使用wx.startLocationUpdateBackground锁屏,采集会中断? 问题描述: 1、不锁屏的情况,采集频率都是6s左右; 2、锁屏后,采集频率会开始无规律, 有时相差7分钟,有时20多秒, 但是还是会采集; 3、当重新激活手机,采集频率马上又回复6s的采集频率; 4、锁屏后出现的采集问题是否能优化, 或者有什么其他方法代替; 5、采集频率是否可以修改,自己设置; [图片] 这个与手机性能系统都有关了,熄屏的话情况太多了,杀死都有可能。 锁屏继续采集经纬度的,还是其他方案吗? 没有,一般这种需求都让它不锁屏,可以设置屏幕常亮。
03-07 - 同一家公司多款小程序,每个小程序备案时需要至少三个手机号码即法人手机号码,负责人手机号码以及应急联系人手机号码
同一家公司多款小程序,每个小程序备案时需要至少三个手机号码即法人手机号码,负责人手机号码以及应急联系人手机号码; 负责人手机号码还不允许重复,按照此规则一款产品,除了法人,负责人的手机号码至少2个,10款产品就需要20个手机号码,若是负责人为同一个人,电信规定每个人最多只能拥有5个号码,该如何备案?此情况,此设定难道不是反人类吗? [图片]
2023-12-13 - 小程序备案里主体负责人是指法人吗?还是其他的?
关于开展微信小程序备案的通知 https://mp.weixin.qq.com/s/E4zAI5Y--nqRcRdPgSe-cw 小程序备案操作指引 https://developers.weixin.qq.com/miniprogram/product/record_guidelines.html 问题1:这个主体负责人是必须得是法人吗?还是主体内得其他工作人员也可以? 问题2:小程序负责人是必须得小程序管理员吗? 问题3:工信部校验短信是发小程序负责人手机里吗?还是发送到主体负责人手机里? [图片][图片]
2023-08-10 - 小程序备案的负责人必须是管理员吗?
[图片]我是管理员 ,写我是负责人 身份验证不过,能不能换成别人作为备案负责人 ?
2023-12-11 - 你的小程序申请的wx.getLocation接口因你提供无法确认申请接口使用场景审核不通过?
[图片][图片]
2023-07-05 - 小程序判断iphonex及以上机型
在app.js 的 onLaunch 函数内调用 wx.getSystemInfo, 获得手机型号 res.model,然后通过一下代码判断: [代码]wx.getSystemInfo({ success: res => { if (res.model.indexOf('iPhone X') > -1) { //iphonex,xr,xs } }, fail(err) { console.error(err); } }) [代码] 这么写以后再增加机型还要维护 现在小程序getSystemInfo方法会返回safeArea对象,其中top字段可以作为我们判断的依据。x及以上机型的异形屏top为44,非异形屏为20。 [图片] 所以可以使用这样来判断就不需要再维护了。 [代码]wx.getSystemInfo({ success: res => { if (res.safeArea.top > 20) { //x及以上的异形屏top为44,非异形屏为20 // 可以将结果存到globalData: } }, fail(err) { console.error(err); } }) [代码] 很多人会问这有什么用处呢,最常用的一个就是自定义tabBar的时候,x及以上机型都会在底部出现横线,这样会遮挡tabBar,所以可以通过判断来给tabBar增加距离底部高度。
2020-05-27 - 微信开发者工具系列课程
介绍开发者工具基础功能和实践案例,解决开发过程中遇到的调试问题。使用工具,简单快速上手开发小程序。
2021-11-19