小程序定位失敗的解決方案


小程序中用戶點擊拒絕定位權限時,需要進行一些列符合業務邏輯的提示,使用戶重新給予權限:

①在獲取定位的fail回調函數中給一個提示,以逆地址解析為例:

  loadLocation(){
    qqmapsdk=new QQMapWX({
      key:""
    });
    qqmapsdk.reverseGeocoder({
      success:(res)=>{
      },
      fail:(err)=>{
        this.setData({
          cityname:"定位失敗,點擊重試"
        })
      }
    })
  }
②在data中聲明判斷位置是否加載成功的變量(boolean)默認false,並在獲取定位的回調函數中進行邏輯判斷,success->true   fail->false;
③在需要基於位置進行事件處理的函數中進行必要的邏輯判斷,變量為true執行操作,否則重新執行定位;
④彈窗提示用戶沒有權限(這里可以有其他的解決方案,具體看業務需求):
        // 彈窗提示用戶沒有權限,
        wx.showModal({
          title:"提示",
          content:"獲取當前位置需要授權,是否跳轉到設置界面?",
          success:(res)=>{
            if(res.confirm){
              // 執行跳轉,到設置界面
              wx.openSetting({
                success:(settingRes)=>{
                  // console.log(settingRes);
                  if(settingRes.authSetting['scope.userLocation']){
                    this.loadLocation();
                  }
                }
              })
            }
          }
        })

至此定位失敗的一套邏輯基本實現了,小白寫項目,有很多不足之處,如果有更好的解決方案,歡迎大家交流


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM