我现在已经有几次了CoreMotion Framework
。我希望得到与Magnetic North
相对应的角度,当用户使用iOS设备时,向其他方向移动,例如我有iOS设备,而我目前面向北方(例如,位置A )而且我转向并开始面向东方(位置B )。现在我希望在面向位置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);
}];
提前感谢。