我想在Android中编写一个应用程序,您可以看到一个指针始终指向某个GPS位置。因此,当你转动手机或开车时,指针仍然会指向gps位置。
但是我不知道如何用gps位置和指南针传感器数据进行计算。
谁能给我一些指针如何开始,或者有一个例子,如何做到这一点?
要做到这一点,您需要了解以下几点:
- 要指向的位置。
- 你在哪里
- 您使用的地图投影(米,度等)
使用android LocationManager并注册位置更新。当这些更新到达时,你需要提取位置和方位(也可以使用指南针),并将它们转换为你正在使用的地图格式。通常这将是谷歌地图的球形墨卡托变化。
有了这些信息,你可以使用三角函数来计算你和你标记的位置之间的角度,并使用它来绘制地图上的方向箭头,或者使用方位数据来告诉你该往哪个方向转弯。
与上述答案相同的起点,但不需要三角函数计算。只是调用现有的方法。
- 你的实际位置从onLocationChanged (Location类的方法)
- 指向 的坐标(经纬度)
你现在可以
- 在googleMaps上创建一个覆盖,并从你的位置到点对点画一条线。
或者如果你想要更短的线(或箭头)
- "bearingTo()"(同样来自Location类)给你指向的方向。画一条线(或箭头)并旋转到这个方向