我想知道给定的坐标(纬度和经度)是否在给定的4个坐标之内。
即,如果我有A,B,C,D和E的纬度,我想检查E是否位于A,B,C和E内。
我该怎么做?
我试图从Google Map Coordinates LatLngBound class - contains看这个例子。
我可以看到的示例就像
var bounds = new google.maps.LatLngBounds(
new google.maps.LatLng(54.69726685890506,-2.7379201682812226),
new google.maps.LatLng(55.38942944437183, -1.2456105979687226)
);
var center = bounds.getCenter(); // still returns (55.04334815163844, -1.9917653831249726)
var x = bounds.contains(center); // now returns true
它只有2个坐标,例如A&B。没有C&D的坐标怎么可能?
答案 0 :(得分:1)
这是因为它使用LatLngBounds
来创建矩形,而不是多边形。如果一个框有两个角,则可以假定其他两个角。您只需要指定相反的角即可。在您的示例中,您只需要成对发送A和D或B和C,其他两个可以忽略。如果需要多边形,则要创建a polygon,然后确定它是否包含带有google.maps.geometry.poly.containsLocation(point, polygon)
的点。