在android中获取当前位置和选定地点之间的距离

Posted

技术标签:

【中文标题】在android中获取当前位置和选定地点之间的距离【英文标题】:get distance between Current location and Selected Place in android 【发布时间】:2013-03-31 09:01:02 【问题描述】:

我是 android 开发的新手,我想制作一个应用程序,比如在 MapView 上给我当前位置和选定地点之间的距离。

请给我一些建议。

【问题讨论】:

***.com/a/8050255/792232 【参考方案1】:

使用 android 获取当前位置与选定地点之间的距离。

public static double distFrom(
    double lat1, double lng1, double lat2, double lng2)

    double earthRadius = 3958.75;
    double dLat = Math.toRadians(lat2-lat1);
    double dLng = Math.toRadians(lng2-lng1); 
    double a = Math.sin(dLat/2) * Math.sin(dLat/2) +
        Math.cos(Math.toRadians(lat1)) * Math.cos(Math.toRadians(lat2)) * 
        Math.sin(dLng/2) * Math.sin(dLng/2);
    double c = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1-a)); 
    double dist = earthRadius * c; 

    return dist; 
 

【讨论】:

或developer.android.com/reference/android/location/… @ankitmakwana 你能告诉我如何在 WebView 上放置经度和纬度点吗? @PratikButani 您可以使用 GeoPoint 显示 @ankitmakwana 我想在 MapView 上显示当前位置,帮助。 simle place icon 使用当前纬度和经度创建地理点并显示它【参考方案2】:

只有几行代码:

Location l1=new Location("One");
l1.setLatitude(location.getLatitude());
l1.setLongitude(location.getLongitude());

Location l2=new Location("Two");
l2.setLatitude(Double.parseDouble(frnd_lat));
l2.setLongitude(Double.parseDouble(frnd_longi));

float distance_bw_one_and_two=l1.distanceTo(l2);

【讨论】:

以上是关于在android中获取当前位置和选定地点之间的距离的主要内容,如果未能解决你的问题,请参考以下文章

计算两个经纬度之间的道路距离

Android SQLite 查询我的位置与给定距离值之间的距离的行

使用纬度和经度返回 SQL Server 2008 中两个位置之间的距离

获取用户当前位置周围的地点列表

如何获取当前位置和下一个当前位置之间的距离

怎么查两个地点之间的城市