Android 如何查找两个地质点之间的距离

Android 如何查找两个地质点之间的距离,android,google-maps,Android,Google Maps,我可以从kml文件接收距离吗?(很抱歉说了这么糟糕的话) 这可能对你有帮助 public static Double calculateDistance(Double lat1, Double lon1, Double lat2, Double lon2) { Double Radius = 6371.00; Double dLat = toRadians(lat2 - lat1); Double dLon = toRadians(lon2 - lon1); Do

我可以从kml文件接收距离吗?(很抱歉说了这么糟糕的话)


这可能对你有帮助

public static Double calculateDistance(Double lat1, Double lon1, Double lat2, Double lon2) {
    Double Radius = 6371.00;
    Double dLat = toRadians(lat2 - lat1);
    Double dLon = toRadians(lon2 - lon1);
    Double a = Math.sin(dLat / 2) * Math.sin(dLat / 2)
            + Math.cos(toRadians(lat1)) * Math.cos(toRadians(lat2))
            * Math.sin(dLon / 2) * Math.sin(dLon / 2);
    Double c = 2 * Math.asin(Math.sqrt(a));
    return Radius * c;
}

将源纬度和经度以及目标纬度和经度作为参数传递

您提供的URL在几个月内运行正常,但现在突然停止运行,KML文件无法下载,而路径显示在谷歌地图下,我猜这与谷歌的政策有冲突。

不确定kml文件……但我已经回答了如何在这里找到两个地质点之间的距离。@vipulsah,但距离更大。例如,我知道距离不会超过3-4公里,但答案是355775.4232.:(尝试使用JSON对象并对其进行解析)
public static Double calculateDistance(Double lat1, Double lon1, Double lat2, Double lon2) {
    Double Radius = 6371.00;
    Double dLat = toRadians(lat2 - lat1);
    Double dLon = toRadians(lon2 - lon1);
    Double a = Math.sin(dLat / 2) * Math.sin(dLat / 2)
            + Math.cos(toRadians(lat1)) * Math.cos(toRadians(lat2))
            * Math.sin(dLon / 2) * Math.sin(dLon / 2);
    Double c = 2 * Math.asin(Math.sqrt(a));
    return Radius * c;
}