Skip to content

Clean-QQmap v4.5.0:箭头方向改「加速度基线+陀螺仪修正」,去磁力计

Choose a tag to compare

@Xiyinnnnnn Xiyinnnnnn released this 17 Oct 10:24
· 1 commit to main since this release

v4.5.0 — 箭头方向改「加速度基线 + 陀螺仪辅助修正」,彻底去掉磁力计

背景

上一版 v4.4.0 在静止时缺少绝对参考、方向也偏"跳",且历史上设备姿态方向在
地库/车内/金属环境下因磁力计受扰而"飘逸不准"。本版换用无磁力计的姿态融合方案。

本版改动

  • 新增 core/AccelGyroHeading 方向融合器:
    • 加速度计为基线:对加速度计低通得到重力向量,作为水平基准框架;
    • 陀螺仪做修正:把角速度投影到地垂线提取航向角速度并积分,两次定位之间平滑补间;
    • 完全不读取磁力计(TYPE_MAGNETIC_FIELD),根除磁场干扰导致的漂移;
    • 绝对方向锚定:移动时由位移方向(course over ground)/GPS 航向把方位钉回真北;
      静止且设备不旋转时冻结积分,抑制陀螺零偏漂移。
  • MainActivity.resolveBearing 方向优先级:融合方向 → 位移方向(COG) → GPS 航向。
  • 传感器生命周期跟随 Activity(onResume 启动 / onPause 停止)。

取舍说明(重要)

去掉磁力计后不再有绝对磁北。静止且从未发生移动时无法确定绝对北,方向来自
"移动方向"的锚定——这是移除磁力计的固有代价。

校验

  • assembleRelease 编译通过;DEX 内含 AccelGyroHeading,无任何我们代码引入的磁力计符号
    (getRotationMatrix 仅来自厂商 tencent-map-nav-sdk 自身)。
  • 签名与历史版本同证书(SHA1 b6ddc697…),可平滑覆盖升级;versionCode 24 / versionName 4.5.0。