有一种多边形检测方法叫做: containsLocation(point:LatLng,polygon:Polygon)
但是,这会检查一个点(单坐标)是否在多边形内部,但我需要它来检查多边形是否在另一个多边形内。
有什么想法吗?
答案 0 :(得分:0)
基本上是@geocodezip所说的。你没有提供关于你如何创建多边形的任何线索,所以你可能不需要找出这样的所有点。但无论如何都应该有效。
我得到你要检查的多边形的所有路径。然后遍历这些路径,获取所有点并将它们添加到数组中。然后循环遍历该数组,检查每个点是否属于另一个多边形。
var paths = polygon1.getPaths();
var points = [];
paths.forEach(function(path) {
path.forEach(function(point) {
points.push(point);
});
});
for (var i = 0; i < points.length; i++) {
if (!google.maps.geometry.poly.containsLocation(points[i], polygon2)) {
alert('this point is not in the other polygon: ' + points[i].toString());
break;
}
}