2

我想在 Android 中编写一个应用程序,您可以在其中看到一个始终指向某个 GPS 位置的指针。因此,当您转动手机或开车时,指针仍会指向 GPS 位置。

但我不知道如何使用 gps 位置和指南针传感器数据进行计算。

谁能给我一些指导如何开始,或者有一个如何做到这一点的例子?

4

2 回答 2

3

要实现这一点,您需要了解几件事:

  • 你想指向的地方。
  • 你在哪里。
  • 您正在使用什么地图投影(米、度等)

使用 android LocationManager 并注册位置更新。当这些更新到达时,您需要提取位置和方位(也可以使用指南针作为方位)并将它们转换为您正在使用的地图格式。通常这将是谷歌地图球形墨卡托变体。

有了这些信息,您可以使用三角函数计算您与标记位置之间的角度,并使用它在地图上绘制方向箭头,或使用方位数据告诉您转向哪个方向。

于 2011-07-22T09:51:48.527 回答
1

与上述答案相同的起点,但不需要三角计算。只是调用现有方法。

你有

  • 您在 onLocationChanged 中的实际位置(Location 类的方法)
  • 要指向的坐标(纬度/经度)

你现在可以

  • 在 googleMaps 上创建一个叠加层,并从您的位置到指向的点画一条线。

或者如果你想要更短的线(或箭头)

  • “bearingTo()”(同样来自 Location 类)为您提供指向的方向。画一条线(或箭头)并将其旋转到这个方向
于 2011-09-21T12:50:58.270 回答