0

我正在做一个项目,我需要将指南针指向一个位置。即使用户倾斜 iphone 或移动,我也需要这个指南针始终指向这个位置。我得到了该位置的角度以及当前的航向。但是我不知道如何实现这个指向指南针的功能。有什么可以帮助我的。

CLLocationDirection direction = newHeading.magneticHeading;
double radians = -direction / 180.0 * M_PI;
//For Rotate Niddle
CGFloat angle = RadiansToDegrees(radians);

double angletothelocation=[self bearingToLocation:destinationLocation];

[self rotateArrowView:arrowView degrees:(angle+radianangle)];

但是我的方向错误。有人可以建议我一种方法吗?提前致谢....

4

1 回答 1

0

我们的应用程序正是您想要的这个功能。您的代码有所不同,但我认为您缺少方向修复:

self.arrow.transform = CGAffineTransformMakeRotation(toRadian((headingFloat+angle) + orientationCorrection));

其中方向校正是:

- (int)fixOrientation {
    switch ([[UIApplication sharedApplication] statusBarOrientation]) {
        case UIInterfaceOrientationPortrait:
            return 0;
        case UIInterfaceOrientationLandscapeLeft:
            return 90;
        case UIInterfaceOrientationLandscapeRight:
            return 270;
        case UIInterfaceOrientationPortraitUpsideDown:
            return 180;
    }
}
于 2012-08-10T11:15:37.617 回答