如何创造一个指南针的指针总是指向一个特定的GPS位置?(Android)



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

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

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

要做到这一点,您需要了解以下几点:

  • 要指向的位置。
  • 你在哪里
  • 您使用的地图投影(米,度等)

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

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

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

    你的实际位置从onLocationChanged (Location类的方法)
  • 指向
  • 的坐标(经纬度)

你现在可以

  • 在googleMaps上创建一个覆盖,并从你的位置到点对点画一条线。

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

  • "bearingTo()"(同样来自Location类)给你指向的方向。画一条线(或箭头)并旋转到这个方向

最新更新