微信小程序團隊在7月30日更新了 基礎庫 2.8.0
其中新添加了小程序后台持續定位功能和聯系定位的接口
從上到下分別是
1.wx.onLocationChange//監聽位置實時變化
2.wx.stopLocationUpdate//關閉監聽實時位置變化,前后台都停止消息接收
3.wx.startLocationUpdate//開啟小程序進入前台時接收位置消息
4.wx.startLocationUpdataBackground//開啟小程序進入前后台時均接收位置消息
詳細信息可查看https://developers.weixin.qq.com/miniprogram/dev/api/location/wx.startLocationUpdateBackground.html
剛好正在做的項目需要用到后台的定位,下面介紹下使用方法:
要實現后台持續定位需要用到上述1,2,4
1.首先需要在app.josn中加入,這樣小程序才能在后台調用定位功能
"requiredBackgroundModes": [ "location" ],
2.在頁面index.js中加入我們所需要用到的api
首先我們需要開啟小程序進入前后台時均接收位置消息
wx.startLocationUpdateBackground({ success(res) { console.log('開啟后台定位', res) }, fail(res) { console.log('開啟后台定位失敗', res) } })
注意這個API無法在開發者工具上調試,只能用真機來進行
在調用完這個方法成功后我們便可以使用wx.onLocationChange來獲取實時的位置變化了
wx.onLocationChange(function(res) { console.log('location change', res) })
下圖為真機調試獲取到的實時定位信息
大概每3秒鍾會獲取一次新的定位信息,小程序進入后台之后狀態欄會顯示小程序正在使用位置信息,如下圖
如何想要關閉需要調用wx.stopLocationUpdate方法
經過測試在調用完wx.stopLocationUpdate停止監聽實時位置變化后
再次調用wx.startLocationUpdataBackground后wx.onLocationChange無需重新調用也會繼續運作