使用指南针指向实际坐标位置而不仅仅是北

2024-02-14

我见过一些这样的例子,但不确定到底如何实现它,(例如iPhone 指南针 GPS 方向 https://stackoverflow.com/questions/4130821/iphone-compass-gps-direction)中我需要在 (void)startup 中调用 calcBearingWithLatitude 吗?

我想做的就是让指南针从记忆中提取一个点,并使用该点作为它的“北”,可以这么说并指向它,不需要距离或类似的东西。

我的实现文件现在看起来像

@implementation TrackerViewController

@synthesize locationManager; 
@synthesize compass; 
@synthesize headingLabel;

- (void)viewWillAppear:(BOOL)animated {
[super viewWillAppear:animated];

if ([CLLocationManager headingAvailable]) {

} else {
    [[[[UIAlertView alloc] initWithTitle:@"Error" 
                                 message:@"Device doesn't support heading updates" 
                                delegate:nil 
                       cancelButtonTitle:@"OK" 
                       otherButtonTitles:nil] autorelease] show];   
}
}

- (void)locationManager:(CLLocationManager *)manager didUpdateHeading:(CLHeading *)newHeading {
double heading = [newHeading magneticHeading] * M_PI / 180.0;
self.compass.transform = CGAffineTransformMakeRotation(-heading);
self.headingLabel.text = [NSString stringWithFormat:@"%d°", (int)[newHeading magneticHeading]];
NSLog(@"%d", (int)[newHeading magneticHeading]);
}


- (void)locationManager:(CLLocationManager *)manager 
   didFailWithError:(NSError *)error {

//  NSLog(@"Error!");

if (error.code == kCLErrorDenied) {
    [[[[UIAlertView alloc] initWithTitle:@"Error" 
                                 message:@"User didn't allow heading updates" 
                                delegate:nil 
                       cancelButtonTitle:@"OK" 
                       otherButtonTitles:nil] autorelease] show];
    [self.locationManager stopUpdatingHeading];
}
}

 - (void)viewDidLoad {
 locationManager=[[CLLocationManager alloc] init];
 locationManager.desiredAccuracy = kCLLocationAccuracyBest;
 locationManager.delegate=self;
 //Start the compass updates.
 [locationManager startUpdatingHeading];
 [super viewDidLoad];
 }

- (void)didReceiveMemoryWarning {
// Releases the view if it doesn't have a superview.
[super didReceiveMemoryWarning];

// Release any cached data, images, etc that aren't in use.
}

- (void)dealloc {
self.locationManager = nil;
self.compass = nil;
self.headingLabel = nil;
[super dealloc];
}

@end

我会找到从坐标 A 到坐标 B 的方位,然后使用该方位作为罗盘方位从坐标 A 到坐标 B 的偏移。

以下是查找坐标方位的两个链接

计算两个 CLLocationCooperative2D 之间的方位角 https://stackoverflow.com/questions/3809337/calculating-bearing-between-two-cllocationcoordinate2ds

http://shawnsbits.com/blog/2011/07/07/calculate-heading-with-corelocation/ http://shawnsbits.com/blog/2011/07/07/calculating-heading-with-corelocation/

如果您希望罗盘方位在您移动时更新,以便它始终指向坐标 B,那么您可能需要在获得新方位或位置时重新计算。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用指南针指向实际坐标位置而不仅仅是北 的相关文章

  • CGContextSelectFont 等效项

    在 iOS 7 CGContext SelectFont 中已弃用 已弃用的消息说我必须使用 Core Text 但我不知道哪一个与这段代码完全相同 CGContextSelectFont context Helvetica kBarLab
  • 使用 AudioStreamer 获取 MP3 ID3 元数据和歌曲持续时间

    我在用着马特 加拉格尔的 AudioStreamer http cocoawithlove com 2008 09 streaming and playing live mp3 stream html通过 HTTP 播放 MP3 我需要知道
  • 如何将unix时间戳转换为iphone中的nsdate [重复]

    这个问题在这里已经有答案了 可能的重复 从 Unix 时间戳创建 NSDate https stackoverflow com questions 5827240 create nsdate from unix timestamp 我有一个
  • 使用特定的 url 启动 UIWebview

    我目前有一个包含四个按钮的视图 并且希望能够启动 UIWebview 并为每个不同的按钮提供特定的 url 我目前可以使用 url 从外部启动 safari 我知道我可以使用代码在每个按钮中显示 UIWebview 并且可以在 UIWebv
  • 为具有多个目标和不同平台的项目编写 Podfile

    我正在准备一个支持 OS X 和 iOS 的 Pod 我的 pod 有一些自己的依赖项 这些依赖项在 podspec 文件中定义 因此我使用 Podfile 来管理我用来开发 pod 和运行测试的项目的依赖项 我正在使用 CocoaPods
  • 访问 google reader 的 Endpoints API 时出错

    我正在尝试在iPhone APP中实现google reader 到目前为止我已经成功收到了sid and auth 当我尝试使用以下命令调用 Endpoints API 时 问题就出现了GET 这是代码 ASIHTTPRequest re
  • 如何检索 iPhone 的区域设置

    我用谷歌搜索过它 但令我有点惊讶的是我找不到它 我只想访问设备配置的区域设置 我试图找到如何列出所有系统属性 以防我能在那里找到区域设置 但甚至找不到如何做到这一点 我知道 认为 我之前检索过系统属性 但我也记得在谷歌搜索时找到该信息并不容
  • iPhone SDK中的短信正文

    我需要从我的 iPhone 应用程序发送短信 SMS 的正文是以编程方式创建的 因此 当我点击按钮时 短信应用程序应该打开 并在其中预先输入我的消息 有人知道怎么做吗 需要帮忙 提前致谢 世宾 您无法设置短信正文 根据官方 SDK 您可以从
  • 命令 /Applications/Xcode-beta.app/Contents/Developer/usr/bin/atool 失败,退出代码 255

    它发生在新的 Xcode7 beta 中 CompileAssetCatalog Users admin Library Developer Xcode DerivedData InstaAd ddgdnbxlpxipirebpndfmgr
  • UILabel UILongPressGestureRecognizer 不起作用?

    我怎样才能得到UILongPressGestureRecognizer在 uilabel 当我实现以下代码时 它不会调用该函数 那么请告诉我我做错了什么 UILongPressGestureRecognizer longPress UILo
  • 从plist文件中读取数据

    我正在尝试为我的 iPhone 应用程序实现保存状态 我有一个名为 SaveData plist 的 plist 文件 我可以通过以下方式读取它 NSString pListPath2 bundle pathForResource Save
  • 如何清除代码中的 NSLog 输出?

    有没有办法清除代码中的控制台输出 thanks 我喜欢的快捷方式 Simply USE K Keyboard Shortcut when you want to clear the NSLOG Data
  • 在 Xcode5 中使用 XCTest 时 AFNetworking 导致错误

    我正在使用 Xcode 5 现在刚刚开始对现有项目进行单元测试 为此我添加了CocoaTouch Unit Testing Bundle作为我的项目的目标 目标名称是 MyAppTests 我之前使用添加了 AFNetworking 库Co
  • 查找已用应用程序名称的捆绑包/开发人员

    我正在尝试将应用程序上传到应用程序商店并收到以下错误 很容易理解 The App Name you have entered has already been used 该应用程序不在 iTunes 上 有什么方法可以找出谁拥有该应用程序或
  • 如何将iPhone/iPad应用程序更改为仅iPhone?

    我有点愚蠢 将我的应用程序构建为同时针对 iPhone 和 iPad 而实际上它应该只针对 iPhone 如何更改设置以使构建仅适用于 iPhone 我实际上已经完成了应用程序的编码并准备提交它 所以希望这只是更改一些晦涩的项目设置的情况
  • 当 UITextField 已满或空时显示警报 Swift

    下面的代码中 如果 userNameTF 或 passwordTF 已满或为空 则会显示警报 IBAction func LoginBtn sender AnyObject let userName userNameTF text let
  • 在带有 Storyboard 的 XCode 4 中以模态方式推送视图时,出现“对开始/结束外观转换的不平衡调用”警告

    在网上进行了一些研究但没有成功后 我来这里向您询问有关我的警告的问题 实际上 我有一个带有导航控制器的视图 V1 我想在 V1 完成加载时推送模态视图 V2 所以我用performSegueWithIdentifier方法 我正在使用故事板
  • 架构armv7的重复符号

    尝试在我现有的应用程序中使用 Layar SDK 时出现以下错误 我该如何解决这个问题 Ld Users pnawale Library Developer Xcode DerivedData hub afxxzaqisdfliwbzxbi
  • 来自 iPhone/iPad 的 json Web 服务

    有人可以帮助我解决如何从 iphone 或 ipad 使用 json Web 服务的问题吗 这里我的要求是使用 API 密钥实现 json webservice 如果可能的话发布一些教程或示例链接 谢谢 规范的 JSON 处理库是here
  • 拖动时获取MKAnnotation的坐标

    我正在根据用户添加的注释的位置创建一条路径 MKPolyline 我想允许用户通过拖动引脚来更改路径 我目前可以做到这一点 但 MKPolyline 不会更新 直到引脚被放下 我实施了 void mapView MKMapView mapV

随机推荐

  • 如何在没有 xml 配置的情况下使用 JasperReportsPdfView

    我想要一个控制器方法从 JasperReports jrxml 文件返回 PDF 而不使用任何 xml 配置 我想用一个JasperReportsPdfView 这有可能吗 我知道这可以只用 Java 代码来完成 就像这个博客中一样 htt
  • 为什么fragment中的生命周期方法是公开的,而activity的生命周期方法是受保护的?

    该活动被保护封装在框架包 android app 和子类中这个链接 https stackoverflow com questions 20161662 why are lifecycle methods in activity class
  • 当父元素有最小高度/最大高度值但没有高度值时,为什么子元素上的 height: 100% 不适用?

    假设我们有以下设置 container background color red width 500px min height 300px child background color blue width 500px height 100
  • 日期范围内的 SQL 分割数

    我有一个表 例如这个数据 ID start date end date amount a1 2013 12 01 2014 03 31 100 我想要一个分割日期的查询 这样我就可以将全年的金额分割出来 如下所示 ID org start
  • c# - 数组从哪里继承(即 .int[] )

    创建数组时 例如int 它是否继承自任何东西 我认为它可能继承自 System Array 但查看编译后的 CIL 后发现并非如此 我认为它可能继承自 System Array 或类似的东西 考虑到您可以调用方法并访问数组上的属性 I e
  • 使用 C 编程频谱图 [关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 我正在尝试用 C 语言制作音频频谱图
  • 向量数学,求角度

    我试图通过编写一个小型 2D 游戏来学习 XNA 它是一个自上而下的视角 我尝试进行双重移动 使用左右和上下键沿轴移动 以及向右看鼠标光标 以便玩家可以同时奔跑和瞄准 我有一个用于玩家位置的向量 m PlayerPos 一个用于鼠标位置的向
  • 如何在 NestJS 中为每个新的 HTTP 请求使用新实例?

    我有一个 API 并且正在尝试发送请求 这是有效的 但我注意到在收到回复后 这些类并没有被销毁 我目前正在使用 NestJS 但是当我尝试测试时 nodeJS ExpressJS 也遇到了这个问题 我正在使用以下代码 Injectable
  • 如何计算两个地点之间的时差

    我在计算两个时区之间的时差时遇到问题 如果我在位置 A 我知道纬度和经度以及当前时间 我去位置B我知道纬度和经度以及当前时间 如何计算当前两个点之间的时间差 以UTC为单位 首先获取一个可以转换纬度 经度以获取国家 地区和州 省的数据库或库
  • 为什么我的 SQL“NOT IN”子句产生与“NOT EXISTS”不同的结果

    当我期望两个 SQL 查询产生相同的结果时 它们会产生不同的结果 我正在尝试查找没有相应位置的事件的数量 所有位置都有事件 但事件也可以链接到非位置记录 以下查询生成计数 16244 这是正确的值 SELECT COUNT DISTINCT
  • 定义双感叹号?

    我理解双感叹号的作用 或者我认为我理解 但我不确定它是如何在随机对象上定义的 例如下面的代码片段 Assignment a if getAssignment query a return false hasSolution a if a r
  • uint 和 unsigned int 之间的区别?

    有什么区别吗uint and unsigned int 我正在查看此网站 但所有问题都涉及 C 或 C 我想要一个关于C语言的答案 如果相关的话 请注意我在 Linux 下使用 GCC uint不是标准类型 unsigned int is
  • 关闭 GPS 时广播接收器调用了 2 次?

    显现
  • 将 UTF-8 编码的 NSData 转换为 NSString

    我有UTF 8编码NSData来自 Windows 服务器 我想将其转换为NSString对于iPhone 由于数据包含在两个平台上具有不同值的字符 如度数符号 如何将数据转换为字符串 如果数据不是空终止的 您应该使用 initWithDa
  • 当只有插件源可用时,如何在 sbt 项目中使用插件?

    我想使用sbt 斯克鲁奇 https github com bancek sbt scrooge插件 但它的存储库现在不可用 http koofr github com http koofr github com 我想我应该将这个插件的源代
  • 如何在 NLTK 中进行依存解析?

    翻阅 NLTK 书 并不清楚如何从给定的句子生成依存树 本书的相关部分 依存语法子章节 https www nltk org book ch08 html dependencies and dependency grammar给出一个示例图
  • 数组与数组列表有显着差异吗? [复制]

    这个问题在这里已经有答案了 可能的重复 在 C 中何时使用 ArrayList 而不是 array https stackoverflow com questions 412813 when to use arraylist over ar
  • 混合 C 和 C++...对函数的未定义引用 [关闭]

    Closed 这个问题需要细节或清晰度 help closed questions 目前不接受答案 在 C 项目中 我尝试调用这个在 C 中定义的函数 int CyBtldr RunAction CyBtldr Action action
  • 什么分布式消息队列支持百万级队列?

    我正在寻找一个分布式消息队列 它将支持数百万个队列 每个队列每秒处理数十条消息 消息会很小 几十个字节 而且我不希望队列变得很长 每个队列最多有几十条消息 但是当系统运行时 队列应该保持相当长的状态空的 我不确定集群中有多少个节点 可能取决
  • 使用指南针指向实际坐标位置而不仅仅是北

    我见过一些这样的例子 但不确定到底如何实现它 例如iPhone 指南针 GPS 方向 https stackoverflow com questions 4130821 iphone compass gps direction 中我需要在