gpt4 book ai didi

android - Android map 上2个地方之间的距离

转载 作者:太空狗 更新时间:2023-10-29 13:58:59 24 4
gpt4 key购买 nike

我需要计算当前位置和目的地之间的距离。我有当前位置和目的地位置的纬度和经度。我在搜索时从 SO 和互联网上找到了以下代码。但是计算得出 1366 公里,而谷歌地图给出 2 个位置之间的 1675 公里。有人可以帮助我如何计算准确的距离。目的地遍布全局,包括我目前所在的城市。

//Distance in Kilometers
fun distanceInKms ( lat1: Double, long1: Double, lat2: Double, long2: Double) : Double
{
val degToRad= Math.PI / 180.0;
val phi1 = lat1 * degToRad;
val phi2 = lat2 * degToRad;
val lam1 = long1 * degToRad;
val lam2 = long2 * degToRad;

return 6371.01 * Math.acos( Math.sin(phi1) * Math.sin(phi2) + Math.cos(phi1) * Math.cos(phi2) * Math.cos(lam2 - lam1) );
}

有人可以帮我解决这个问题吗?

最佳答案

使用 android.location.Location 类,自 Android API 级别 1 起可用。它有一个静态的 distanceBetween 方法为你做这一切。

参见: http://developer.android.com/reference/android/location/Location.html

float[] results = new float[1];
android.location.Location.distanceBetween(startLatitude, startLongitude, endLatitude, endLongitude, results);
//distance in meters now in results[0]

除以 1000 得到公里 (km)。

关于android - Android map 上2个地方之间的距离,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37234613/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com