概述
1,首先保证krpano中有三个文件在 1.19-pr16 (build 2018-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在授权后第一次陀螺仪不会生效,此时做了判断,使用浏览器存储变量,通过判断进行一次刷新setStore是封装的方法,不封装的话可以直接用sessionStorage存储
this.reload();
} else {
setStore({ name: 'jiajukeji-gyro', content: 'no' });
}
})
});
} else {
//13.3以前的版本
}
}
},
注意:如果出现krpano的错误图层,需要在krpano标签中设置,showerrors=“fasle”,在全局事件<event>标签中设置onloaderror=“”
最后
以上就是合适寒风为你收集整理的krpano使用陀螺仪的全部内容,希望文章能够帮你解决krpano使用陀螺仪所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复