【发布时间】:2012-03-19 07:26:53
【问题描述】:
我有一个关于 Qibla 方向的问题,我正在构建一个 iPhone 应用程序,它将同时显示北向和 Qibla 方向,我在 CLLocationManager 的帮助下显示北向,并将 CLHeading 更新为 newHeading.magneticHeading,并且我用以下代码显示朝拜方向
double A = MECCA_LONGITUDE - lon;
double b = 90.0 - lat;
double c = 90.0 - MECCA_LATITUDE;
NSLog(@"tan -1( sin(%f) / ( sin(%f) * cot(%f) - cos(%f) * cos(%f)))", A, b, c, b, A);
double qibAngle = atan(sin(A) /( sin(b) * (1 / tan(c)) - cos(b) * cos(A) ));
NSLog(@"qib Angle- %f",qibAngle);
qibla.transform = CGAffineTransformMakeRotation(qibAngle * M_PI /180);
所以,我在这里得到了角度,但是当我旋转设备时它不会更新角度,谁能帮助我,我知道我需要对航向做一些事情,但我不知道是什么做什么?
【问题讨论】: