是否可以通过网络应用程序在iphone / android设备上使用Javascript访问指南针?我一直在网上看了几个小时,我知道你可以用
访问加速度计window.ondevicemotion = function(event)
有没有人知道您是否可以从指南针访问信息?
答案 0 :(得分:4)
在iPhone上,您可以获得这样的罗盘值。
window.addEventListener('deviceorientation', function(e) {
console.log(e.webkitCompassHeading);
}, false);
希望得到这个帮助。
答案 1 :(得分:0)
现在看起来是跨平台的,请excellent article检查Ruadhán O'Donoghue。
对于Android,它仍然使用window.addEventListener('deviceorientation', ...)
,但检查其他事件属性(event.alpha
,这是罗盘方向; beta
和gamma
也可用,代表倾斜)。
如果链接不可用,以下是相关部分(改编):
if(window.DeviceOrientationEvent) {
window.addEventListener('deviceorientation', function(event) {
var alpha;
// Check for iOS property
if(event.webkitCompassHeading) {
alpha = event.webkitCompassHeading;
}
// non iOS
else {
alpha = event.alpha;
if(!window.chrome) {
// Assume Android stock
alpha = alpha-270;
}
}
}
}
CodePen上提供了另一个用法示例。