如何创建一个始终指向该位置的组合?

Posted

技术标签:

【中文标题】如何创建一个始终指向该位置的组合?【英文标题】:How to create a composs which always point to the location? 【发布时间】:2012-08-10 10:29:00 【问题描述】:

我正在做一个项目,我需要将指南针指向一个位置。我需要这个指南针始终指向这个位置,即使用户倾斜 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)];

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

【问题讨论】:

【参考方案1】:

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

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;
    

【讨论】:

我无法发布我的整个项目。我想分享代码,但它非常接近你正在做的事情,除了我称之为其他各种东西..所以,你会迷失在我的代码中。请试试这个,如果它不起作用,请告诉我。我会帮助你,直到我们让你的代码一起工作。 我试过这个方法,然后它也显示在同一个方向

以上是关于如何创建一个始终指向该位置的组合?的主要内容,如果未能解决你的问题,请参考以下文章

如何组合输出流,以便输出一次到达多个位置?

两个外键的唯一约束始终是不同的组合

当鼠标光标位于属于面板的组合框上时如何触发面板滚动事件

封装 多态

如何确保 SceneKit 相机始终指向特定位置

无法让级联组合框工作