仅选择要素的特定多边形OpenLayers

问题描述

OpenLayers

功能由几个部分组成,如何在openLayers中单击鼠标时仅选择其中一个认情况下,整个功能都会被选中。

解决方法

我认为您需要创建一个包含具有单个多边形几何特征的要素的新源。如果需要访问原始功能,请给他们一个父属性。例如

mainSource.on('addfeature',function(event) {
  var geometry = event.feature.getGeometry();
  if (geometry.getType() == 'MultiPolygon') {
    geometry.getPolygons().forEach(function(polygon) {
      splitSource.addFeature(new Feature({
        geometry: polygon,parent: event.feature
    });
  } else {
    splitSource.addFeature(event.feature);
  }
});