Android在固定位置找到方位

时间:2012-01-28 09:42:02

标签: android

我是Android新手并通过它学习。所以我想创建一个像指针一样的箭头来显示固定位置是固定的,当用户移动他们的设备时,箭头应该自动更新(如指南针)。

我搜索了资源,但我无法找到它。这里有人知道怎么做吗?任何示例或教程都将非常感激。

示例:

fixed location: 20 latitude, 50 longitude
my location: 5 latitude 25, longitude
So how do i find the arrow pointed to fixed location?

1 个答案:

答案 0 :(得分:6)

如果curLat和curLon是当前位置的纬度和经度,并且如果refLat和refLon是参考位置纬度和经度,您可以从当前位置到参考位置获得轴承,如下所示:

final float[] results= new float[3];
// The computed distance in meters is stored in results[0].
// If results has length 2 or greater, the initial bearing is stored in results[1].
// If results has length 3 or greater, the final bearing is stored in results[2].
Location.distanceBetween(curLat, curLon, refLat, refLong, results);
final float bearing = results[1];

如果距离增加结果[2]与结果[1]的差异越来越大,除非从当前位置到参考位置的路线遵循一条直线(或者是loxodrome,请参见此处:http://en.wikipedia.org/wiki/Rhumb_line)。