天天看點

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

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();
                  }
                }
              })
            }
          }
        })      

繼續閱讀