2013-05-28 18 views
1

还没有编程任何位置服务,所以让我描述我的问题,你可以告诉我,位置服务是否可以提供帮助。如何使用ios定位服务计算站点的直线?

我有一个移动用户1(long1,lat1,altitude1)想面对另一个移动用户2(long2,lat2,altitude2)。

海拔高度是可选的。

我想向用户1提供反馈: 左/右(< - - >),向上/向下倾斜(^ v),直到设备的顶部指向用户2。

User2可能在地球上的任何地方。

简而言之:计算网站的直接线(您可以通过地球看到)在两个设备之间,然后提供反馈(方向箭头)将设备放在网站上。

所有的指针表示赞赏。

+0

是那能看见的线?或网站? –

+0

接你;-)视线是正确的拼写 – KingAndrew

+0

这篇文章展示了如何获得方向(http:// stackoverflow。com/questions/8502795/get-direction-compass-with-two-longitude-latitude-points?rq = 1)任何人都知道如何获得角度? – KingAndrew

回答

0

iOS和Android都不提供这种功能。在大多数使用案例中,处理确定世界各地旅行的距离时,这并不是一项理想的功能。

但是,您可以使用3D数学来计算此角度和距离。

要做到这一点,首先需要在三维空间中绘制一个球体上的经纬度位置,这个空间的大小与地球的尺寸大致相当(或缩放比例,您有精确的距离尺度)。

你会失去准确性由于以下原因进行这种计算:

  • 因为地球是不是一个真正的球
  • 通过排除海拔你失去更多的准确性
  • 如果球形尺寸ISN相当于地球的大小(你也可以缩小和推断)
  • 如果你的距离单位不准确的球体(如果球体缩放)

然后,一旦你有一个球体上的两个点(三维空间),然后你可以计算出使用毕达哥拉斯定理(两次)之间的最短距离。

下面是两个SO链接,它们专门涵盖了3D空间数学计算所需的3D数学知识,现在您已经在3D空间中绘制了纬度/经度。

相关链接:

相关问题