有什么方法可以解決呢,或者怎樣可以重新獲取用戶授權(quán)?
現(xiàn)在在做一個小程序有地圖的功能,通過點擊按鈕打開地圖。調(diào)用wx.getlocation()這個接口是需要用戶的授權(quán)。如果他授權(quán)了,返回一個success當(dāng)然最好啦,就什么問題都沒有了。如果他點了取消,返回一個fail,我就使用預(yù)設(shè)的經(jīng)緯度打開一個定位。但是如果用戶點擊返回以后,再次點擊按鈕進入地圖就會沒有反應(yīng)(如果一開始有授權(quán)的話就可以再次重新打開地圖)。
有什么方法可以解決呢,或者怎樣可以重新獲取用戶授權(quán)。畢竟叫他們刪了重來的話,這樣的體驗好像不大好。。。
方法:A:單擊隱藏圖章wx.openSetting(OBJECT) 重新調(diào)用小程序授權(quán),文檔現(xiàn)在已經(jīng)有了【以下是文檔內(nèi)容】
wx.openSetting(OBJECT)
調(diào)起客戶端小程序設(shè)置界面,返回用戶設(shè)置的操作結(jié)果
Object 參數(shù)說明:
參數(shù) 類型 必填 說明success Function 否 接口調(diào)用成功的回調(diào)函數(shù),返回內(nèi)容詳見返回參數(shù)說明。fail Function 否 接口調(diào)用失敗的回調(diào)函數(shù)complete Function 否 接口調(diào)用結(jié)束的回調(diào)函數(shù)(調(diào)用成功、失敗都會執(zhí)行)success返回參數(shù)說明:
參數(shù) 類型 說明authSetting Object 用戶授權(quán)結(jié)果,其中 key 為 scope 值,value 為 Bool 值,表示用戶是否允許授權(quán),詳見 scope 列表示例代碼:
wx.openSetting({success: (res) => {/** res.authSetting = {* "scope.userInfo": true,* "scope.userLocation": true* }*/}})wx.getSetting(OBJECT)獲取用戶的當(dāng)前設(shè)置
Object 參數(shù)說明:
參數(shù) 類型 必填 說明success Function 否 接口調(diào)用成功的回調(diào)函數(shù),返回內(nèi)容詳見返回參數(shù)說明。fail Function 否 接口調(diào)用失敗的回調(diào)函數(shù)complete Function 否 接口調(diào)用結(jié)束的回調(diào)函數(shù)(調(diào)用成功、失敗都會執(zhí)行)success返回參數(shù)說明:
參數(shù) 類型 說明authSetting Object 用戶授權(quán)結(jié)果,其中 key 為 scope 值,value 為 Bool 值,表示用戶是否允許授權(quán),詳見 scope 列表示例代碼:
wx.getSetting({success: (res) => {/** res.authSetting = {* "scope.userInfo": true,* "scope.userLocation": true* }*/}})Map:function(){wx.getLocation({type: 'gcj02', success: function(res){// successwx.openLocation({latitude: res.latitude,longitude: res.longitude, scale: 28, })},fail: function(res){// fail wx.openLocation({address:"獲取授權(quán)失敗 打開默認(rèn)定位",//默認(rèn)定位我就隱藏啦latitude: XX.XX,longitude: XX.XX,scale: 28, },wx.openSetting({//重新請求獲取定位success: (res) => {}}))},})}