在安卓中获取当前位置和选择地点之间的距离

5

我是Android开发的新手,我想制作一个应用程序,可以在MapView上显示我的当前位置和所选地点之间的距离。

请给我一些建议。


1
https://dev59.com/NWsz5IYBdhLWcg3wOVH5#8050255 - Abhi
2个回答

2

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

1
请参考以下链接:https://developer.android.com/reference/android/location/Location.html#distanceTo%28android.location.Location%29 - Stéphane
@ankitmakwana,你能告诉我如何在WebView上放置经纬度点吗? - Pratik Butani
@PratikButani 你可以显示使用 GeoPoint。 - Ankitkumar Makwana
@ankitmakwana 我想在MapView上显示当前位置,请帮忙。 - Pratik Butani
使用当前的纬度和经度创建地理点并显示简单的位置图标。 - Ankitkumar Makwana

0

只需要几行代码:

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

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接