最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

 更新時(shí)間:2018年11月15日 09:00:03   作者:站住,別跑  
這篇文章主要介紹了微信小程序用戶位置權(quán)限的獲取方法(拒絕后提醒),文中給大家介紹了微信小程序獲取用戶當(dāng)前位置的三個(gè)方式,授權(quán)方法,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下

微信小程序獲取用戶當(dāng)前位置有三個(gè)方式:

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

  獲取當(dāng)前的精度、緯度、速度。不需要授權(quán)。當(dāng)type設(shè)置為gcj02 返回可用于wx.openLocation的坐標(biāo)

2. wx.chooseLocation

  需要授權(quán),打開地圖選擇位置

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

  

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

  

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

3. wx.openLocation

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

  

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

1. wx.getSetting

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

  

2. wx.openSetting

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

  

3. wx.authorize

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

  

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

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

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

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

App({
 //獲取用戶地理位置權(quán)限
 getPermission:function(obj){
  wx.chooseLocation({
  success: function (res) { 
   obj.setData({
    addr: res.address  //調(diào)用成功直接設(shè)置地址
   })    
  },
  fail:function(){
   wx.getSetting({
    success: function (res) {
     var statu = res.authSetting;
     if (!statu['scope.userLocation']) {
      wx.showModal({
       title: '是否授權(quán)當(dāng)前位置',
       content: '需要獲取您的地理位置,請確認(rèn)授權(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頁面直接設(shè)置內(nèi)容 
 }, 
})

最終效果圖:

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

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

更新 wx.openSetting 的注意事項(xiàng)。

2.3.0 版本開始,用戶發(fā)生點(diǎn)擊行為后,才可以跳轉(zhuǎn)打開設(shè)置頁,管理授權(quán)信息

即2.3.0版本之后,我通過上面的wx.showModal的回調(diào)函數(shù)來調(diào)用wx.openSetting 會(huì)發(fā)生下面的錯(cuò)誤:

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

但是我測試 2.2.4 開始 到2.3.1 都會(huì)出現(xiàn)上面這種錯(cuò)誤。

2.3.2及以上又不會(huì)出現(xiàn)這種問題。。。。。。。。

而且當(dāng)我測試2.0.8 到 2.2.3 會(huì)出現(xiàn)下面的錯(cuò)誤。。。。。。

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

總結(jié)

以上所述是小編給大家介紹的微信小程序用戶位置權(quán)限的獲取方法(拒絕后提醒),希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!

相關(guān)文章

  • JS Array.slice 截取數(shù)組的實(shí)現(xiàn)方法

    JS Array.slice 截取數(shù)組的實(shí)現(xiàn)方法

    這篇文章主要介紹了JS Array.slice 截取數(shù)組的實(shí)現(xiàn)方法,因?yàn)槲覀冃枰刂埔幌麻L度,需要的朋友可以參考下
    2016-01-01
  • 微信小程序使用車牌號(hào)輸入法的示例代碼

    微信小程序使用車牌號(hào)輸入法的示例代碼

    這篇文章主要介紹了微信小程序使用車牌號(hào)輸入法的示例代碼,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-08-08
  • vue 組件銷毀并重置的實(shí)現(xiàn)

    vue 組件銷毀并重置的實(shí)現(xiàn)

    這篇文章主要介紹了vue 組件銷毀并重置的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-01-01
  • 在一個(gè)頁面重復(fù)使用一個(gè)js函數(shù)的方法詳解

    在一個(gè)頁面重復(fù)使用一個(gè)js函數(shù)的方法詳解

    下面小編就為大家?guī)硪黄谝粋€(gè)頁面重復(fù)使用一個(gè)js函數(shù)的方法詳解。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧,祝大家游戲愉快哦
    2016-12-12
  • javascript引用對象的方法代碼

    javascript引用對象的方法代碼

    javascript引用對象的方法代碼...
    2007-08-08
  • js實(shí)現(xiàn)select跳轉(zhuǎn)功能代碼

    js實(shí)現(xiàn)select跳轉(zhuǎn)功能代碼

    實(shí)現(xiàn)select跳轉(zhuǎn)的方法有很多,本例為大家介紹的是js實(shí)現(xiàn)的,通過location.href獲取跳轉(zhuǎn)地址,需要的朋友可以看看
    2014-10-10
  • threejs太陽光與陰影效果實(shí)例代碼

    threejs太陽光與陰影效果實(shí)例代碼

    在Threejs中類似于我們現(xiàn)實(shí)世界,物體顯示的顏色是由物體本身的顏色及光照的顏色相互疊加而得到的,這篇文章主要給大家介紹了關(guān)于threejs太陽光與陰影效果的相關(guān)資料,需要的朋友可以參考下
    2022-04-04
  • JS實(shí)現(xiàn)字符串翻轉(zhuǎn)的方法分析

    JS實(shí)現(xiàn)字符串翻轉(zhuǎn)的方法分析

    這篇文章主要介紹了JS實(shí)現(xiàn)字符串翻轉(zhuǎn)的方法,結(jié)合實(shí)例形式分析了javascript字符串使用reverse方法、字符串遍歷方法以及針對輸入字符串的遍歷、逆序輸出等方法實(shí)現(xiàn)字符串反轉(zhuǎn)相關(guān)操作技巧,需要的朋友可以參考下
    2018-08-08
  • js實(shí)現(xiàn)右下角窗口彈出窗口效果

    js實(shí)現(xiàn)右下角窗口彈出窗口效果

    好的朋友經(jīng)常需要彈出信息,這個(gè)功能不錯(cuò)
    2008-09-09
  • 原生JavaScript再網(wǎng)頁實(shí)現(xiàn)文本轉(zhuǎn)語音功能

    原生JavaScript再網(wǎng)頁實(shí)現(xiàn)文本轉(zhuǎn)語音功能

    這篇文章主要為大家詳細(xì)介紹了如何通過原生JavaScript再網(wǎng)頁實(shí)現(xiàn)文本轉(zhuǎn)語音功能,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以了解一下
    2025-03-03

最新評論

通江县| 子洲县| 安塞县| 大庆市| 兰溪市| 多伦县| 南靖县| 年辖:市辖区| 寿光市| 桐城市| 家居| 昭通市| 慈利县| 肥东县| 宁海县| 开鲁县| 雅江县| 确山县| 西青区| 东方市| 龙井市| 涿州市| 钦州市| 平顺县| 惠州市| 正镶白旗| 班玛县| 清丰县| 伊宁市| 钟山县| 玉龙| 漳平市| 峨边| 临泉县| 桂平市| 岫岩| 英山县| 乌鲁木齐市| 敦煌市| 鄂托克旗| 玉林市|