检查纬度经度是否位于两个坐标之间的线上

时间:2015-10-23 10:58:13

标签: java android google-maps geospatial geo

1 coordinate between two

我有3个纬度和经度坐标。如果从A到B绘制一条线,我想检查第三个点是否恰好位于从A和B绘制的线上。

或者我们可以将这个问题改为:连接三个坐标应该给我一条直线而不是一个三角形。

我只想在服务器上进行此计算。

1 个答案:

答案 0 :(得分:1)

您可以使用此代码

public static boolean onLine(LatLng A, LatLng B, LatLng C) {
    double m1 = (C.latitude - A.latitude)/(C.longitude - A.longitude);
    double m2 = (C.latitude - B.latitude)/(C.longitude - B.longitude);
    return m1 == m2;
}