如何在屏幕上显示指南针?

时间:2011-10-02 19:38:18

标签: iphone ios gps compass-geolocation cllocation

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

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

是否存在iPhone北极和实际北极的概念?

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

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

1 个答案:

答案 0 :(得分:6)

这称为CLLocation的“标题”。

查看适用于您的应用的CLLocationManager doc part to configure heading,并致电startUpdatingHeading以通知您的标题更改,即当您的iPhone指向另一个点时。

然后使用标准CLLocationManagerDelegate方法通知标题更改并相应地重新绘制线条。

Read the Location Awareness Programming Guide了解有关位置服务和标题的详细信息,尤其是this part,其中甚至包含示例代码。


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

“位置感知编程指南”中也对此进行了详细解释(就像所有内容一样;总是阅读编程指南,这些指南一般都很棒且非常完整):

  

可以相对于地图上的磁北或真北报告航向值。磁北表示地球表面上行星磁场发出的点。这个位置与北极不同,北极代表真北。根据设备的位置,磁北可能足以满足多种用途,但越接近极点,该值就变得越小。