5

我是 iOS 开发的新手。我的目标是在屏幕上显示指南针。我有某个位置的经纬度。我通过使用 CLLocation 得到了我当前的纬度和经度。

我已经使用 API 计算了两点之间的距离,但现在我想知道我的手机 N/S/E/W 的正确方向以及根据正确的北极之类的东西……我不确定。

iPhone北极和实际北极有一些概念吗?

我想显示一条指向特定经度和纬度的线,即使我的手机正在旋转或移动;该线仅指向该点。

请帮助我,我现在应该在哪里进行?任何指导或链接/ tut都会很棒。

4

1 回答 1

6

这称为 CLLocation 的“标题”。

请参阅CLLocationManager 文档部分为您的应用程序配置标题并调用startUpdatingHeading以通知您的标题更改,即当您的 iPhone 指向另一个点时。

然后使用标准CLLocationManagerDelegate方法获知航向变化并相应地重新绘制线。

阅读位置感知编程指南以获取有关位置服务和航向的更多信息,尤其是这部分甚至包含示例代码。


PS:关于两个不同的北方,没有“iPhone北极”的概念,这与iPhone本身无关。在地理系统中,需要考虑两个北极参考:根据地球磁场定义的磁北极和根据地球自转轴定义的真北极。

Location Awareness Programming Guide 中也详细解释了这一点(就像所有东西一样;总是阅读 Programming Guides ,它们通常是很棒且非常完整的资源):

航向值可以相对于地图上的磁北或真北报告。磁北代表地球表面上发出行星磁场的点。这个位置与代表真北的北极不同。根据设备的位置,磁北对于许多用途来说可能已经足够了,但是越靠近极点,这个值就越没用。

于 2011-10-02T21:23:23.917 回答