我想知道如何使用Core Motion使iPhone相对于基本方向定向。我认为最好的方法是利用设备相对于磁力计给出的磁场的姿态。从应用程序文档中,该态度描述为:
CMAttitude对象表示姿态的度量,即物体相对于给定参考系的方向。
我想知道如何使这个“给定的参考框架”成为主要方向。也许通过使用CMCalibratedMagneticField?
有人可以告诉我如何执行此操作,还是可以选择更简单的替代方法。
我不确定这是否是您要寻找的100%,但是您可以使用CMAttitudeReferenceFrameXMagneticNorthZVertical
带有以下内容的参考框架从运动管理器中获取设备姿态值。此代码将转储设备的状态以每秒记录30次。在我看来,偏航值朝东大约为0,并且在两个方向上都延伸到180度,正值是逆时针方向,负值是顺时针方向。
- (void)startMonitoring
{
if (!self.motionManager) {
self.motionManager = [CMMotionManager new];
[self.motionManager setDeviceMotionUpdateInterval:1.0 / 30.0];
}
NSOperationQueue *currentQueue = [NSOperationQueue currentQueue];
[self.motionManager startDeviceMotionUpdatesUsingReferenceFrame:CMAttitudeReferenceFrameXMagneticNorthZVertical
toQueue:currentQueue
withHandler:^(CMDeviceMotion *motion, NSError *error) {
NSLog(@"%@",motion.attitude);
}];
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句