获取当前的地理位置、速度。当用户离开小程序后,此接口无法调用。需要用户授权scope.userLocation

                wx.startLocationUpdate({
                    success: res => {
                        console.log('startLocationUpdate用户开启使用小程序期间位置权限:',res)
                        wx.onLocationChange(_locationChangeFn)
                        resolve()
                    },
                    fail: err => {
                        // 重新获取位置权限
                        wx.openSetting({
                            success(res) {
                                res.authSetting = { 'scope.userLocation': true }
                            }
                        })
                        console.log('startLocationUpdate获取当前位置失败', err)
                        reject(err)
                    },
                    complete: msg => {
                    }
                })

开启小程序进入前后台时均接收位置消息。需要用户授权scope.userLocationBackground

                wx.startLocationUpdateBackground({
                    success: res=> { 
                        console.log('startLocationUpdateBackground用户开启使用和离开小程序位置权限:', res)
                        wx.onLocationChange(_locationChangeFn)
                        resolve()
                    }, 
                    fail: res=> { 
                        // 重新获取位置权限
                        wx.openSetting({
                            success(res) {
                                res.authSetting = { 'scope.userLocationBackground': true }
                            }
                        })
                        console.log('startLocationUpdateBackground开启后台定位失败', res)
                        reject(err)
                    },
                    complete: msg => {
                    }
                })
                let _locationChangeFn = res => {
                    console.log('定位改变:', res)
                    // 取消监听实时地理位置变化事件
                    // wx.offLocationChange(_locationChangeFn)
                }
Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐