krpano使用陀螺儀
阿新 • • 發佈:2021-02-05
1,首先保證krpano中有三個檔案在1.19-pr16(build2018-04-04)版本以上,分別為gryo2.js。webvr.js。和tour.js(此js檔案對應krpano包中的krpano.js)
2,保證你的訪問域名為https,不是http,測試環境也要https(否則無法測試)測試環境請不要用ip,用域名
3,做到以上兩步才開始(基於javascript)
that.krpano.call("set(plugin[skin_gyro].enabled,true);");//開啟
that.krpano.call("set(plugin[skin_gyro].enabled,false);");//關閉
4,ios13以上需要獲取行動授權彈窗
iosGrantedTips() { var that = this; var ua = navigator.userAgent.toLowerCase(); if (ua.indexOf("like mac os x") > 0) { var reg = /os [\d._]*/gi; var verinfo = ua.match(reg); var version = (verinfo + "") .replace(/[^0-9|_.]/gi, "") .replace(/_/gi, "."); var arr = version.split("."); if (arr[0] > 12 && arr[1] > 2) { //對13.3以後的版本處理,包括13.3, DeviceMotionEvent.requestPermission() .then((permissionState) => { if (permissionState === "granted") { window.addEventListener("devicemotion", () => {}); that.krpano.call("set(plugin[skin_gyro].enabled,true);"); if (getStore('jiajukeji-gyro') === 'yes') return false; setStore({ name: 'jiajukeji-gyro', content: 'yes' });//ios在授權後第一次陀螺儀不會生效,此時做了判斷,使用瀏覽器儲存變數,通過判斷進行一次重新整理 this.reload(); } else { setStore({ name: 'jiajukeji-gyro', content: 'no' }); } }) }); } else { //13.3以前的版本 } } },
注意:如果出現krpano的錯誤圖層,需要在krpano標籤中設定,showerrors=“fasle”,在全域性事件<event>標籤中設定onloaderror=“”