Openlayers 是否可以识别其他图层内的所有要素图层?

Openlayers 是否可以识别其他图层内的所有要素图层?,openlayers,Openlayers,假设我有两层,即:第1层和第2层 是否有可能将所有要素图层放在另一个图层内? 在本例中,返回红色框内的所有灰色。有一个为线串定义的函数,因此任何几何体都可以调用此函数来确定与另一几何体的交点——对于多边形,只需为其各自线串的每个组合调用该函数即可。对于点/多边形交点,这将变为包含 因此,要找到两个不同矢量层之间的任何交点,(假设您的第1层和第2层指的是矢量层,而不是其中的特征),您可以这样做 var features1 = layer1.features; var features2 = la

假设我有两层,即:第1层和第2层

是否有可能将所有要素图层放在另一个图层内? 在本例中,返回红色框内的所有灰色。

有一个为线串定义的函数,因此任何几何体都可以调用此函数来确定与另一几何体的交点——对于多边形,只需为其各自线串的每个组合调用该函数即可。对于点/多边形交点,这将变为包含

因此,要找到两个不同矢量层之间的任何交点,(假设您的第1层和第2层指的是矢量层,而不是其中的特征),您可以这样做

var features1 = layer1.features;
var features2 = layer2.features;

for (var i=0; i < features1.length-1; i++){
   var feature1 = features1[i];
   for (var j=0; j < features2.length-1; j++){
       var feature2 = features2[j];
       if (feature1.geometry.intersects(feature2.geometry)){
            console.log("vector features 1 " + i + " intersects vector features 2 " + j;
       }
   }
}
var features1=layer1.features;
var features2=layer2.features;
对于(变量i=0;i
显然,您也可以简单地将测试编写为

for (var i=0; i < features1.length-1; i++){
   for (var j=0; j < features2.length-1; j++){
        if(feature1.feature[i].geometry.intersects(feature2.feature[j].geometry)){
              //do something
       }
   }
}
for(变量i=0;i
您是否总是对矩形内的多边形感兴趣,或者可能是多边形内的多边形。其他多边形内的多边形…两个多边形不在同一层上。好的,在这种情况下,我已经发布了两个不同矢量层的多边形/多边形相交的答案。是否可以使用OpenLayers API v3.1?如果是你能帮我一下吗,因为我在API v3.1中也面临同样的问题?