我正在使用Phonegape和jQuery mobile为Android智能手机构建应用程序。
我想构建一个使用箭头指向给定地理位置的应用程序,以便用户知道他/她必须朝哪个方向前进。
所以我需要一个函数或公式来确定目标地理位置的角度(最好是以度为单位)。有谁知道我怎么做到这一点?
答案 0 :(得分:3)
您正在寻找的是方位角,即给定物体与北方之间的角度。
要找到该角度,请使用公式:a = arctan(|(y2-y1)/(x2-x1)|) * 180/pi
其中A点为(y2,x2),B点为(y1,x1)。
至于你在代码中如何做,我不知道。我不使用这些平台。 有人对此有任何意见吗?
答案 1 :(得分:0)
有必要使用测地线距离进行计算,否则计算出的角度将显着偏离,尤其是。越靠近两极。
对于android,可以这样简单地完成。
data class GpsLocation(
val latitude: Float, // Runs from south-pole to north pole
val longitude: Float // Runs East-West
)
fun GpsLocation.toLocation(): Location {
val location = Location(LocationManager.PASSIVE_PROVIDER)
location.latitude = latitude.toDouble()
location.longitude = longitude.toDouble()
//location.time = System.currentTimeMillis()
return location
}
fun GpsLocation.angleToOther(other: GpsLocation): Float =
toLocation().bearingTo(other.toLocation())