【问题标题】:How can i find distance between two GeoPoints我怎样才能找到两个地理点之间的距离
【发布时间】:2023-03-05 04:42:01
【问题描述】:

我可以接收来自 kml 文件的距离吗? (抱歉语言不好)

urlString.append("http://maps.google.com/maps?");
urlString.append("&saddr=");//from
urlString.append(src.getLatitudeE6()/1e6);urlString.append(","); 
urlString.append(src.getLongitudeE6()/1e6); 
urlString.append("&daddr=");//to 
urlString.append( dest.getLatitudeE6()/1e6); 
urlString.append(","); 
urlString.append( dest.getLongitudeE6()/1e6); 
urlString.append("&ie=UTF8&0&om=0&output=kml"); 

【问题讨论】:

  • 不确定kml文件...但我已经回答了如何在这里找到两个GeoPoints之间的距离..stackoverflow.com/questions/11294208/…
  • @VipulShah 但距离更大,例如我知道距离不会超过 3-4 公里,但答案是 355775.4232。:(

标签: android google-maps


【解决方案1】:

这可能对你有帮助

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;
}

将源经纬度和目的地经纬度作为参数传递

【讨论】:

    【解决方案2】:

    您提供的 URL 几个月前可以正常工作,但现在突然停止工作,并且没有下载 KML 文件,而是在谷歌地图下显示路径,我想这与谷歌的政策有冲突。

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-12-11
    • 2015-11-12
    • 1970-01-01
    • 2013-03-20
    • 1970-01-01
    • 1970-01-01
    • 2022-12-12
    • 1970-01-01
    相关资源
    最近更新 更多