您好,登錄后才能下訂單哦!
這篇文章主要介紹了如何解決微信小程序出現(xiàn)wx.getLocation再次授權的問題,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。
具體如下:
首先,在page外定義一個公共函數(shù)用于發(fā)送獲取位置的請求
var getLocation = function (that) { wx.getLocation({ type: 'wgs84', success: function (res) { // 經(jīng)緯度 var latitude = res.latitude var longitude = res.longitude var aK = that.data.aK wx.request({ url: 'https://api.map.baidu.com/geocoder/v2/?ak=' + aK + '&location=' + latitude + ',' + longitude + '&output=json', data: {}, header: { 'content-type': 'application/json' }, success: function (res) { var city = res.data.result.addressComponent.city; that.setData({ currentCity: city }) wx.request({ url: 'xxx' + city, data: {}, header: { 'content-type': 'application/json' }, success: function (res) { that.setData({ county: res.data, }) }, }) } }) }, fail: function () { wx.showToast({ title: '授權失敗', icon: 'success', duration: 1000 }) } }) }
然后,在page中需要位置調用page外部的getLocation
函數(shù)
wx.getSetting({ success: (res) => { if (res.authSetting['scope.userLocation'] != undefined && res.authSetting['scope.userLocation'] != true) {//非初始化進入該頁面,且未授權 wx.showModal({ title: '是否授權當前位置', content: '需要獲取您的地理位置,請確認授權,否則無法獲取您所需數(shù)據(jù)', success: function (res) { if (res.cancel) { that.setData({ isshowCIty: false }) wx.showToast({ title: '授權失敗', icon: 'success', duration: 1000 }) } else if (res.confirm) { wx.openSetting({ success: function (dataAu) { if (dataAu.authSetting["scope.userLocation"] == true) { wx.showToast({ title: '授權成功', icon: 'success', duration: 1000 }) //再次授權,調用getLocationt的API getLocation(that); } else { wx.showToast({ title: '授權失敗', icon: 'success', duration: 1000 }) } } }) } } }) } else if (res.authSetting['scope.userLocation'] == undefined) {//初始化進入 getLocation(that); } else { //授權后默認加載 getLocation(that); } } })
上述過程執(zhí)行順序為:
1.先加載wx.getLocation
彈出自己的授權框,如圖
然后,點擊確定即可授權,若點擊取消則取消授權,當再次需要授權時,會調用我們自定義的Modal框,如圖
其次,針對上述的Modal框點擊取消則關閉,若點擊確定則打開手機的地址授權設置,如圖
最后,若直接點擊左上方的返回箭頭則取消授權,若先選中地理位置按鈕,然后在點擊左上方的返回箭頭則授權成功,如圖
感謝你能夠認真閱讀完這篇文章,希望小編分享的“如何解決微信小程序出現(xiàn)wx.getLocation再次授權的問題”這篇文章對大家有幫助,同時也希望大家多多支持億速云,關注億速云行業(yè)資訊頻道,更多相關知識等著你來學習!
免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內容。