【问题标题】:html5 devicemotion acceleration always changeshtml5 devicemotion加速总是变化
【发布时间】:2016-02-09 16:30:54
【问题描述】:

我开发了一个 Web 应用程序并希望使用 devicemotion 事件来获得加速度以测量速度和距离,但我注意到即使设备在平坦表面上是静态的,y 上的加速度值也会不断变化。

    var clock = null, prevClock = new Date().getTime();
window.addEventListener("devicemotion", function(e) {
if (e.acceleration.x) {
    clock = new Date().getTime();
    var d = (clock - prevClock) / 1000;
    d *= d;
    motion.x = (e.acceleration.x);
    motion.y = (e.acceleration.y);
    motion.z = (e.acceleration.z);

    distance.x += (motion.x) * d;
    distance.y += (motion.y) * d;
    distance.z += (motion.z) * d;
    prevMotion = motion;
    prevClock = new Date().getTime();
}
}, true);

如何测量准确的加速度。

【问题讨论】:

    标签: html devicemotion


    【解决方案1】:

    您已经以正确的方式进行操作。而且你不会得到比这更准确的加速度。这是因为传感器非常敏感(或者不够准确),即使您的设备只是躺在平坦的表面上,您也永远不会获得 0 的加速度。较新的手机具有更准确的传感器。例如,iPhone 6+ 比我的 Galaxy S4 更接近 0,但即使使用 iPhone6+,您也永远不会在平面上获得 0 的加速度。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-07-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-12-25
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多