因爲小程序爲了客戶體驗,在用戶首次拒絕受權後,彈窗短期內將不會再出現。然而此時可能有些須要經緯度的重要數據就沒法調取,所以須要引導客戶去再次受權。目前發現可以吊起受權彈框的有wx.getLocation、 wx.authorize可是用戶拒絕後短時間內調用這些api也不會出現受權彈框了。git
現現在opensetting也已經廢棄小程序
這段代碼可使用戶進入受權界面再度受權,而上面的按鈕則能夠經過用戶是否受權來進行顯示或者隱藏(hiddenLoading)api
此時咱們只須要在handle裏再次調用該函數便可ide
由於本人小程序這方面所須要面對的狀況也很少,因此並無寫太多的判斷。無論受權是否,handler函數都會執行!會調動getLocation。假若此時已經受權,即可以獲取到經緯度調取數據,不然按鈕仍然存在。函數
此外,一些手機並不支持二次受權的功能,你戳爛屏幕都沒反應。只能判斷他是否支持,this
wx.canIUse('button.open-type.openSetting')
若是不支持,則顯示另外一段代碼,提示客戶手動去受權,點擊三個點--關於XX小程序--三個點--設置;並附帶一個按鈕(判斷受權,若受權就拉取數據,不然就return)spa
還有些手機即時打開也不行,你就看看那個一根筋的人是否是手機設置裏就把GPS關了,我老闆就是還每天嚷。。。。。嗯mmmcode