Repository navigation
Clean-QQmap v4.5.0:箭头方向改「加速度基线+陀螺仪修正」,去磁力计
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。