如何计算两个地理位置之间的角度



我正在用Phonegape和jQuery mobile为Android智能手机构建一个应用程序。

我想建立一个应用程序,使用一个箭头,指向一个给定的地理位置,所以用户知道在哪个方向,他/她必须去到达那个点。
所以我需要一个函数或公式来确定一个角度(最好是度)到目的地地理位置。有人知道我该怎么做吗?

你要找的是方位角,也就是给定物体与北方之间的夹角。

要找到这个角度,你可以使用公式:a = arctan(|(y2-y1)/(x2-x1)|) * 180/pi其中点A是(y2,x2)点B是(y1,x1)

至于如何在代码中做到这一点,我不知道。我不与这些平台合作。有人对此有什么看法吗?

有必要使用测地线距离进行计算,否则计算出的角度将明显偏离,特别是越靠近极点。

对于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())

相关内容

  • 没有找到相关文章

最新更新