91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

微信小程序用戶位置權限的獲取方法(拒絕后提醒)

發布時間:2020-10-05 07:51:05 來源:腳本之家 閱讀:1182 作者:站住,別跑 欄目:web開發

微信小程序獲取用戶當前位置有三個方式:

1. wx.getLocation(多與wx.openLocation一起用)

  獲取當前的精度、緯度、速度。不需要授權。當type設置為gcj02 返回可用于wx.openLocation的坐標

2. wx.chooseLocation

  需要授權,打開地圖選擇位置

  第一次調用方法時先出現

  微信小程序用戶位置權限的獲取方法(拒絕后提醒)

  允許權限之后之后再出現

  微信小程序用戶位置權限的獲取方法(拒絕后提醒)

  如果第一次就不允許,則一直調用wx.chooseLocation的fail方法

3. wx.openLocation

  需要授權,使用微信內置地圖查看位置。多半用于查看起點到終點的路線怎么走

  微信小程序用戶位置權限的獲取方法(拒絕后提醒)

授權方法有三種:

1. wx.getSetting

  獲取用戶的當前設置,返回值中只會出現小程序已經向用戶請求過的權限,類似下面的樣子

  微信小程序用戶位置權限的獲取方法(拒絕后提醒)

2. wx.openSetting

  調起權限設置選擇界面,設置界面只會出現小程序已經向用戶請求過的權限,類似下面的樣子

  微信小程序用戶位置權限的獲取方法(拒絕后提醒)

3. wx.authorize

  提前向用戶發起授權請求。調用后會立刻彈窗詢問用戶是否同意授權小程序使用某項功能或獲取用戶的某些數據,但不會實際調用對應接口。如果用戶之前已經同意授權,則不會出現彈窗,直接返回成功。,類似下面的樣子

微信小程序用戶位置權限的獲取方法(拒絕后提醒)  

這就是wx.authorize出現的內容

問題來了:假如我第一次使用wx.chooseLocation()獲取權限被拒絕,然后使用wx.getSetting()來重新獲取權限該怎么做呢?

思路:wx.chooseLocation()有fail方法,如果第一次拒絕之后,以后調用選擇地圖都是觸發的這個,那么我可以在fail方法里面,使用wx.getSetting(),這樣就每次都能判斷是否已經給與了權限了。

第一步:由于有可能會多次使用定位的方法,所以我把定位的方法寫到App.js中,方便調用

App({
 //獲取用戶地理位置權限
 getPermission:function(obj){
  wx.chooseLocation({
  success: function (res) { 
   obj.setData({
    addr: res.address  //調用成功直接設置地址
   })    
  },
  fail:function(){
   wx.getSetting({
    success: function (res) {
     var statu = res.authSetting;
     if (!statu['scope.userLocation']) {
      wx.showModal({
       title: '是否授權當前位置',
       content: '需要獲取您的地理位置,請確認授權,否則地圖功能將無法使用',
       success: function (tip) {
        if (tip.confirm) {
         wx.openSetting({
          success: function (data) {
           if (data.authSetting["scope.userLocation"] === true) {
            wx.showToast({
             title: '授權成功',
             icon: 'success',
             duration: 1000
            })
            //授權成功之后,再調用chooseLocation選擇地方
            wx.chooseLocation({
             success: function(res) {
              obj.setData({
               addr: res.address
              })
             },
            })
           } else {
            wx.showToast({
             title: '授權失敗',
             icon: 'success',
             duration: 1000
            })
           }
          }
         })
        }
       }
      })
     }
    },
    fail: function (res) {
     wx.showToast({
      title: '調用授權窗口失敗',
      icon: 'success',
      duration: 1000
     })
    }
   })
  }
 })  
 },
}) 

第二步:在需要獲取地址的頁面中:

var app = getApp();
Page({
 data:{
  addr:'請選擇位置'   
 },
 //選擇獲取地理位置
 getAddress:function(){
   var that=this;
  app.getPermission(that); //傳入that值可以在app.js頁面直接設置內容 
 }, 
})

最終效果圖:

微信小程序用戶位置權限的獲取方法(拒絕后提醒)

最終在手機上獲取到的位置偏差不太大。

--------------------------------------------------------------------------------

更新 wx.openSetting 的注意事項。

2.3.0 版本開始,用戶發生點擊行為后,才可以跳轉打開設置頁,管理授權信息

即2.3.0版本之后,我通過上面的wx.showModal的回調函數來調用wx.openSetting 會發生下面的錯誤:

openSetting:fail can only be invoked by user TAP gesture.

但是我測試 2.2.4 開始 到2.3.1 都會出現上面這種錯誤。

2.3.2及以上又不會出現這種問題。。。。。。。。

而且當我測試2.0.8 到 2.2.3 會出現下面的錯誤。。。。。。

微信小程序用戶位置權限的獲取方法(拒絕后提醒)

其它的就沒有這問題了。搞不懂。。。

總結

以上所述是小編給大家介紹的微信小程序用戶位置權限的獲取方法(拒絕后提醒),希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對億速云網站的支持!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

洛扎县| 汉寿县| 贞丰县| 温州市| 建始县| 宁国市| 贵德县| 保亭| 苍南县| 稷山县| 长泰县| 文安县| 柞水县| 连平县| 绥化市| 惠水县| 宁津县| 仁怀市| 乌拉特前旗| 张家界市| 宝坻区| 五大连池市| 化州市| 林芝县| 斗六市| 沁源县| 白山市| 阿拉善右旗| 新蔡县| 牙克石市| 磐石市| 宁晋县| 巴青县| 新郑市| 昌平区| 海丰县| 南汇区| 望谟县| 清河县| 安阳县| 宜宾市|