2012-08-15 103 views
1

我期待有一个增强现实iphone应用程序,其中用户从固定点扫描房间。因此,它可能在室内,因为我不使用CLLocationManager和数字GPS。增强现实室内

但是,我遇到了一些重大问题。不知何故,即使我没有移动,兴趣点的气泡不断地改变它们在iphone屏幕上的位置。再一次,我没有使用数字GPS。我以下面的方式使用CMMotionManager。

[motionManager startDeviceMotionUpdatesUsingReferenceFrame: CMAttitudeReferenceFrameXTrueNorthZVertical]; 

有人可以解释如何使用CMMotionManager类可能会导致我的兴趣点的波动吗?并提供可能的解决方案?谢谢。

+0

没有解决方案。这就是位置管理器在iOS上的工作原理。 – Max 2012-08-15 21:42:38

回答

3

CoreMotion框架使用陀螺仪传递设备运动更新,并且陀螺仪随着时间推移漂移。此外,当您告诉框架使用CMAttitudeReferenceFrameXTrueNorthZVertical时,您的意思是您想要使用磁力计偶尔更新陀螺仪的参考框架以使其与实际参考框架保持同步。设备上的指南针可能会受到干扰,并且只是偶尔用于纠正漂移。

不幸的是唯一能做的就是等待并希望框架的内部能够被魔术般地改进。

+0

然后,像wikitude这样的应用程序如何完美地工作? – jaamun 2012-08-15 22:23:40

+0

@jaamun通过不使用CoreMotion与CMAttitudeReferenceFrameXTrueNorthZVertical。您可以直接与加速度计和指南针达到相同的效果,但它更复杂,并且陀螺仪可以提供更好的即时更新。 – 2012-08-15 22:28:06