我在google地图上有两个地方有一些latlong(坐标),是否存在任何google API来查找它们之间的线性位移(不是道路)。或者任何其他图书馆也会存在。
答案 0 :(得分:1)
如果您只需要在Java中计算点数,则不需要API。 Haversine公式可以做到这一点。这是java实现:
public static double distance(double lat1, double lat2, double lng1,
double lng2) {
final int R = 6371; // Radius of the earth
Double latDistance = Math.toRadians(lat2 - lat1);
Double lngDistance = Math.toRadians(lng2 - lng1);
Double a = Math.sin(latDistance / 2) * Math.sin(latDistance / 2)
+ Math.cos(Math.toRadians(lat1)) * Math.cos(Math.toRadians(lat2))
* Math.sin(lngDistance / 2) * Math.sin(lngDistance / 2);
Double c = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1 - a));
double distance = R * c; // convert to meters
return distance;
}