如何创建一个始终指向该位置的组合?
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;
【讨论】:
我无法发布我的整个项目。我想分享代码,但它非常接近你正在做的事情,除了我称之为其他各种东西..所以,你会迷失在我的代码中。请试试这个,如果它不起作用,请告诉我。我会帮助你,直到我们让你的代码一起工作。 我试过这个方法,然后它也显示在同一个方向以上是关于如何创建一个始终指向该位置的组合?的主要内容,如果未能解决你的问题,请参考以下文章