微信小程序位置授權(quán)處理方法
這兩天在做小程序調(diào)取地圖的時(shí)候遇到一個(gè)問(wèn)題,如果用戶第一次拒絕了位置權(quán)限請(qǐng)求。那么就不會(huì)再次喚起授權(quán)彈出。需要我們引導(dǎo)用戶去開(kāi)啟。
具體做法如下。 在 aap.json中加入授權(quán)配置
"permission": { "scope.userLocation": { "desc": "你的位置信息將用于小程序位置接口的效果展示" } }
在 page頁(yè)面中使用,需要有幾個(gè)注意的地方,初次使用的時(shí)候,去申請(qǐng)權(quán)限。這里我是放在onShow 方法里面。
onShow: function () { //初始獲取定位權(quán)限 wx.authorize({ scope: 'scope.userLocation', success: (res) => { }, }) },
然后在調(diào)用地圖地位。或者獲取用戶權(quán)限的函數(shù)去判斷是否有定位權(quán)限,如果沒(méi)有那么引導(dǎo)用戶開(kāi)啟權(quán)限。 如下:我有一個(gè)Input去觸發(fā)選擇地圖事件。
<input bindfocus="openMap" value='{{address}}' placeholder="點(diǎn)擊選擇詳細(xì)地址"></input>
事件處理
openMap:function(e){ var that = this wx.getSetting({ success(res){ //這里判斷是否有地位權(quán)限 if (!res.authSetting['scope.userLocation']) { wx.showModal({ title: '提示', content: '請(qǐng)求獲取位置權(quán)限', success:function(res){ if(res.confirm==false){ return false; } wx.openSetting({ success(res) { //如果再次拒絕則返回頁(yè)面并提示 if (!res.authSetting['scope.userLocation']) { wx.showToast({ title: '此功能需獲取位置信息,請(qǐng)重新設(shè)置', duration: 3000, icon: 'none' }) } else { //允許授權(quán),調(diào)用地圖 that.chooseMap() } } }) } }) } else { //如果有定位權(quán)限,調(diào)用地圖 that.chooseMap() } } }) }, chooseMap(){ var that = this wx.chooseLocation({ success: function (res) { that.setData({ address: res.address, latitude: res.latitude, longitude: res.longitude }) }, fail: function (res) { console.log(res) } }) },
總結(jié)
以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,謝謝大家對(duì)腳本之家的支持。
相關(guān)文章
javascript中使用class和prototype的區(qū)別小結(jié)
本文將介紹在JavaScript何時(shí)使用class以及何時(shí)使用prototype,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2023-08-08原生JS實(shí)現(xiàn)簡(jiǎn)單的倒計(jì)時(shí)功能示例
這篇文章主要介紹了原生JS實(shí)現(xiàn)簡(jiǎn)單的倒計(jì)時(shí)功能,涉及javascript基于定時(shí)器的日期時(shí)間運(yùn)算與頁(yè)面元素屬性動(dòng)態(tài)修改相關(guān)操作技巧,需要的朋友可以參考下2018-08-08IntelliJ IDEA 安裝vue開(kāi)發(fā)插件的方法
本篇文章主要介紹了IntelliJ IDEA 安裝vue開(kāi)發(fā)插件的方法,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-11-11js輸出數(shù)據(jù)精確到小數(shù)點(diǎn)后n位代碼
要保留小數(shù)點(diǎn)后N位的問(wèn)題,經(jīng)過(guò)一番思索,終于解決了,這篇文章主要介紹了js輸出數(shù)據(jù)精確到小數(shù)點(diǎn)后n位代碼,感興趣的朋友可以參考一下2016-07-07javascript實(shí)現(xiàn)的動(dòng)態(tài)文字變換
javascript實(shí)現(xiàn)的動(dòng)態(tài)文字變換...2007-07-07javascript原始值和對(duì)象引用實(shí)例分析
這篇文章主要介紹了javascript原始值和對(duì)象引用的方法,實(shí)例分析了javascript原始值和對(duì)象引用的功能、定義與相關(guān)技巧,需要的朋友可以參考下2015-04-04js實(shí)現(xiàn)簡(jiǎn)易彈幕系統(tǒng)
這篇文章主要為大家詳細(xì)介紹了js實(shí)現(xiàn)簡(jiǎn)易彈幕系統(tǒng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-09-09