知道是否可以使用 JavaScript 在 Safari 中访问 iPhone 指南针?我知道如何访问 GPS,但我无法弄清楚指南针。
问问题
7859 次
4 回答
4
在iOS上,您可以像这样检索罗盘值。
window.addEventListener('deviceorientation', function(e) {
console.log( e.webkitCompassHeading );
}, false);
有关更多信息,请阅读Apple DeviceOrientationEvent文档。
希望这可以帮助。
于 2013-04-04T13:18:18.583 回答
3
除非您使用iPhoneGap 之类的东西,否则您无法通过 javascript 访问该信息
当时确实如此,在 iOS 5 中,您可以在 JS 中使用指南针方向。 https://developer.apple.com/documentation/webkitjs/deviceorientationevent/1804777-webkitcompassheading
于 2010-04-01T23:20:32.907 回答
1
对于 Android,它可以自动运行,对于 iOS,它需要单击才能启动。这是您可以使用的代码的一部分
startBtn.addEventListener("click", startCompass);
function startCompass() {
if (isIOS) {
DeviceOrientationEvent.requestPermission()
.then((response) => {
if (response === "granted") {
window.addEventListener("deviceorientation", handler, true);
} else {
alert("has to be allowed!");
}
})
.catch(() => alert("not supported"));
} else {
window.addEventListener("deviceorientationabsolute", handler, true);
}
}
function handler(e) {
const degree = e.webkitCompassHeading || Math.abs(e.alpha - 360);
}
完整教程在这里,也可以尝试演示 https://dev.to/orkhanjafarovr/real-compass-on-mobile-browsers-with-javascript-3emi
于 2020-09-11T12:48:54.593 回答
0
我建议您将此插件与 LeafletJS 一起使用
https://github.com/stefanocudini/leaflet-compass
与事件和方法一起使用非常简单。
您可以在这里尝试演示:
https ://opengeo.tech/maps/leaflet-compass/
于 2014-07-13T03:45:03.237 回答