Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/186.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 如何创建指针始终指向某个GPS位置的指南针?(安卓系统)_Android_Math_Gps_Compass Geolocation - Fatal编程技术网

Android 如何创建指针始终指向某个GPS位置的指南针?(安卓系统)

Android 如何创建指针始终指向某个GPS位置的指南针?(安卓系统),android,math,gps,compass-geolocation,Android,Math,Gps,Compass Geolocation,我想在Android上写一个应用程序,你可以看到一个指针总是指向某个GPS位置。因此,当您转动手机或驾驶时,指针仍将指向gps位置 但我不知道如何利用gps位置和罗盘传感器数据进行计算 有人能给我一些如何开始的建议吗?或者有一个如何开始的例子吗?要做到这一点,你需要知道以下几点: 你想指的地方 你在哪里 您使用的地图投影(米、度等) 使用android LocationManager并注册职位更新。当这些更新到达时,您需要提取位置和方位(也可以使用指南针进行方位),并将其转换为您正在使用的地

我想在Android上写一个应用程序,你可以看到一个指针总是指向某个GPS位置。因此,当您转动手机或驾驶时,指针仍将指向gps位置

但我不知道如何利用gps位置和罗盘传感器数据进行计算


有人能给我一些如何开始的建议吗?或者有一个如何开始的例子吗?

要做到这一点,你需要知道以下几点:

  • 你想指的地方
  • 你在哪里
  • 您使用的地图投影(米、度等)
使用android LocationManager并注册职位更新。当这些更新到达时,您需要提取位置和方位(也可以使用指南针进行方位),并将其转换为您正在使用的地图格式。通常这将是谷歌地图球形墨卡托变化


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

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

你有

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

  • 在谷歌地图上创建一个覆盖图,并从您的位置到点对点绘制一条线
或者如果您想要一条较短的线(或箭头)

  • “bearingTo()”(同样来自Location类)提供指向的方向。画一条线(或箭头)并将其旋转到此方向