如何使用此传感器 API 中的磁力计?

Posted

技术标签:

【中文标题】如何使用此传感器 API 中的磁力计?【英文标题】:How can I use the Magnetometer from this Sensor API? 【发布时间】:2018-10-11 10:35:40 【问题描述】:

我正在尝试通过此 Sensor API 使用磁力计,但我不确定我是否正确。

我将their site 中的示例代码复制并编辑到我的测试站点中;

let sensor = new Magnetometer();
sensor.start();

sensor.onreading = () => 
    console.log("Magnetic field along the X-axis " + sensor.x);
    console.log("Magnetic field along the Y-axis " + sensor.y);
    console.log("Magnetic field along the Z-axis " + sensor.z);

    document.getElementById("x").innerhtml = "X = " + sensor.x;
    document.getElementById("y").innerHTML = "Y = " + sensor.y;
    document.getElementById("z").innerHTML = "Z = " + sensor.z;
;

sensor.onerror = event => console.log(event.error.name, event.error.message);

但是当我加载页面时,它没有给我任何读数。在我的笔记本电脑上检查该站点会返回此错误消息;

Uncaught ReferenceError: Magnetometer is not defined
    at magnetometer.js:1

任何对此的见解将不胜感激。

【问题讨论】:

【参考方案1】:

我找到了答案。看了一圈发现需要去chrome://flags/#enable-generic-sensor-extra-classes开启Generic Sensor Extra Classes

我不确定为什么会这样,但我现在得到了我想要的读数。

【讨论】:

Chrome 76 仍需要

以上是关于如何使用此传感器 API 中的磁力计?的主要内容,如果未能解决你的问题,请参考以下文章

如何在android的驱动程序中对加速度传感器的数据进行方向和坐标的转

如何禁用自动磁力计校准?

使用 adb 从损坏的 android 设备中回收传感器

ARCore使用什么传感器?

Expo大作战(三十三)--expo sdk api之MapView(地图),MailComposer(磁力传感计),Lottie(动画)

磁力计转换系数