位置经理

时间:2015-03-10 09:27:48

标签: java android location

我们可以使用android location 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);
    }

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

2 个答案:

答案 0 :(得分:1)

您可以使用Google地图的Directions API

执行此操作

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

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

这是Google Map的Distance API的示例,但您可以参考它并以相同的方式使用Directions API

答案 1 :(得分:0)