1

从现在开始,我一直在努力CoreMotion Framework。我想获得对应的角度Magnetic North,当用户拥有 iOS 设备时,向其他方向移动,例如我有 iOS 设备,我目前面向北方(比如位置 A),然后我转身开始面向东方(位置乙)。现在我想要在面向位置 B中创建的角度对应于设备的磁北。

这就是我现在正在尝试的方式(在谷歌搜索时发现的某个地方)

[_motionManager startMagnetometerUpdatesToQueue:[NSOperationQueue currentQueue] withHandler:^(CMMagnetometerData *magnetometerData, NSError *error)
         {
             double heading = 0.0;
             double x = magnetometerData.magneticField.x;
             double y = magnetometerData.magneticField.y;
             //double z = motion.magneticField.field.z;

             if (y > 0) heading = 90.0 - atan(x/y)*180.0/M_PI;
             if (y < 0) heading = 270.0 - atan(x/y)*180.0/M_PI;
             if (y == 0 && x < 0) heading = 180.0;
             if (y == 0 && x > 0) heading = 0.0;

             NSLog(@"Heading Angle = %f",heading);

         }];

提前致谢。

4

0 回答 0