如何使用OpenLayers从下拉列表中选择矢量图层的仅一个要素?

我正在使用OpenLayers(v5.3.0)和显示矢量层的JavaScript进行项目。使用下拉列表,可以选择矢量图层要素。在此之前,它工作正常。但是我的要求是一次选择一个功能,我该如何实现。我的代码如下。

function selectByDistrict(selectiddist) {
  var view = new ol.View({
    projection: projection
  });

  var select = new ol.interaction.Select({
    layers: function(layer) {
      return layer.get('typename') == 'layerDIST';
    },style: [myStyle]
  });
  var districtName = document.getElementById('selectiddist').options[document.getElementById('selectiddist').selectedIndex].text;

  var selectedFeatures = select.getFeatures();
  selectedFeatures.clear();
  var features = layerDIST.getsource().getFeatures();

  if (features) {
    for (i = 0; i < features.length; i++) {
      if (features[i].get('DISTRICT') == districtName) {
        feature = features[i];
        selectedFeatures.push(feature);
        //set style for selected feature 
        feature.setStyle(myStyle);
        var polygon = selectedFeatures.getarray();
        var extent = feature.getGeometry();

        var size = (map.getSize());
        view.fit(
          extent,size
        );
      }
    }
  }
}
solanum 回答:如何使用OpenLayers从下拉列表中选择矢量图层的仅一个要素?

暂时没有好的解决方案,如果你有好的解决方案,请发邮件至:iooj@foxmail.com
本文链接:https://www.f2er.com/3112099.html

大家都在问