www一片黄-www一区-www伊人-www淫-少妇被按摩-射在老师的里面真爽

技術(shù)文章
微信小程序之獲取用戶位置權(quán)限(拒絕后提醒)
發(fā)布日期:2019-06-18 閱讀次數(shù):2216 字體大小:

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

1. wx.getLocation(多與wx.openLocation一起用)
  獲取當前的精度、緯度、速度。不需要授權(quán)。當type設置為gcj02 返回可用于wx.openLocation的坐標
2. wx.chooseLocation
  需要授權(quán),打開地圖選擇位置

  第一次調(diào)用方法時先出現(xiàn)

      

  

  允許權(quán)限之后之后再出現(xiàn)

  

       

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

 3. wx.openLocation

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

  

      

 授權(quán)方法有三種:

1. wx.getSetting
  獲取用戶的當前設置,返回值中只會出現(xiàn)小程序已經(jīng)向用戶請求過的權(quán)限,類似下面的樣子

  

     

2. wx.openSetting

  調(diào)起權(quán)限設置選擇界面,設置界面只會出現(xiàn)小程序已經(jīng)向用戶請求過的權(quán)限,類似下面的樣子

  

      

   

 3. wx.authorize

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

  

       

  這就是wx.authorize出現(xiàn)的內(nèi)容

 

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

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

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

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

復制代碼
var app = getApp();
Page({
   data:{
        addr:'請選擇位置'         
    },
    //選擇獲取地理位置
    getAddress:function(){
          var that=this;
      app.getPermission(that);    //傳入that值可以在app.js頁面直接設置內(nèi)容    
    }, 
})
復制代碼
 最終效果圖:

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

主站蜘蛛池模板: 一区免费视频 | 青草悠悠视频在线观看 | 小黄漫画激情四射在线观看 | 亚洲一级毛片在线播放 | 成人免费观看完整视频 | 91久久99热青草国产 | 一区二区不卡在线 | 欧美精品一区二区精品久久 | 一级毛片a免费播放王色 | 日韩黄色大片免费看 | 欧美高清 hd video | 99爱视频| 三级黄色片日本 | 免费大黄 | 精品欧美一区二区三区 | 久久亚洲国产精品一区二区 | 五月婷婷丁香综合 | 欧美视频xxx | 77788色淫网站女女免费视频 | 天天干天天插天天 | 国产深夜 | 在线成人免费视频 | 秋霞午夜一级理论片久久 | 日韩激情在线播放 | 国产高清区 | 淫品色影院 | 国产特级毛片aaaaaaa高清 | 黄的视频网站 | 欧美青青| 久 在线播放 | 国产欧美日韩一区二区三区 | 一本一道波多野结衣一区二区 | 我要看一级大片 | 日韩精品在线观看视频 | 成人小视频在线 | 黄网免费看| 老司机午夜免费福利 | 成人深夜福利 | 日韩视频第1页 | 欧美精品成人一区二区视频一 | 国产日韩网站 |