uni-app 小程序获取实时定位和车辆签到(wx.onLocationChange方法)

1、需求描述

        实现一个车辆定位签到功能,获取当前车辆的实时定位,当车辆到达签到点1公里范围内时,可以进行签到,当大于1公里时,禁止签到。同时用户还可以手动刷新定位。

uni-app 小程序获取实时定位和车辆签到(wx.onLocationChange方法)_第1张图片       uni-app 小程序获取实时定位和车辆签到(wx.onLocationChange方法)_第2张图片

2、wx.getLocation弊端

        在小程序中,我们使用wx.getLocation api来获取经纬度,但是该api存在一个弊端,就是频繁调用会增加电量损耗,30秒内调用getLocation,仅第一次有效,剩余返回fail。

uni-app 小程序获取实时定位和车辆签到(wx.onLocationChange方法)_第3张图片

wx.getLocation({
    type: 'wgs84',
    success (res) {
        console.log(res.latitude, res.longitude)
    }
})

3、解决方法

        若需要实时的来监听车辆定位,那么则不采取wx.getLocation,需要使用wx.onLocationChange,具体的流程图如下所示:

uni-app 小程序获取实时定位和车辆签到(wx.onLocationChange方法)_第4张图片

4、核心代码



5、补充

        2022 年 7 月 14 日后,微信小程序对wx.onLocationChange API的使用场景做了限制,很多的场景都不允许再使用wx.onLocationChange方法,后续我补充发布了一篇使用wx.getLocation的签到方法,大家可以看看,见链接 uni-app 小程序获取实时定位和车辆签到(wx.getLocation方法)

你可能感兴趣的:(小程序,vue.js,uni-app)