我们可以使用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);
}
但是上面的代码给出了空中距离。但我需要道路距离。请帮帮我..提前谢谢
答案 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)