我正在使用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
);
}
}
}
}