位置经理

Location Manager

我们可以使用 android 位置 https://developer.android.com/reference/android/location/Location.html

在 java 独立应用程序中。我必须找到两个 lat/lng 对之间的距离。现在我正在使用

public double Haversine(double lat1,double lon1,double lat2,double lon2)
    {
        double R = 6372.8; // Earth Radius in Kilometers

        double dLat = Deg2Rad(lat2 - lat1);
        double dLon = Deg2Rad(lon2 - lon1);

        double a = (Math.sin(dLat / 2) * Math.sin(dLat / 2) +
                Math.cos(Deg2Rad(lat1)) * Math.cos(Deg2Rad(lat2)) *
                Math.sin(dLon / 2) * Math.sin(dLon / 2));
        double c = (2 * Math.atan2(Math.sqrt(a), Math.sqrt(1 - a)));
        double d = R * c;
        // Return Distance in Kilometers
        return d;
    }
    public double  Deg2Rad( double deg) {
 public double  Deg2Rad( double deg) {
        return  (deg * Math.PI / 180);
    }

但是上面的代码给出了空中距离。但我需要道路距离。请帮助我..提前致谢

您可以为此使用Google方向API。 http://code.google.com/apis/maps/documentation/directions/

我想你会发现这很有帮助 How To Calculate Distance Between Two Points in Driving Direction Mode in Android

您可以使用 Google 地图

的路线 API 来完成此操作

https://developers.google.com/maps/documentation/directions/

很好的例子是:http://javapapers.com/android/draw-path-on-google-maps-android-api/

这是 Google 地图的距离 API 示例,但您可以参考它并以相同的方式使用方向 API