假设我在一张地图上有两组具有不同属性的功能:功能A和功能B.我为there can be only one设置了两种功能类型的单一互动。
如果我选择一个A功能,然后选择一个B功能,则会从featureCollection中删除A功能。我怎样才能同时选中它们?我还希望最多选择每种类型的一个功能。
示例用例:
Click on A1 --> add A1
Click on A2 --> remove A1 and add A2
Click on B1 --> add B1
Click elsewhere on map -->remove A2 and B1
答案 0 :(得分:0)
我建议您不要选择互动,只需创建自己的featureOverlay
并根据需要添加功能。
var overlay = new ol.featureOverlay({
style: selectedStyle
});
map.on('click', function (event) {
var feature = map.forEachFeatureAtPixel(event.pixel, function (f) { return f;});
// handle the add/remove logic here
if (feature.get('group') === 'A') {
overlay.addFeature(feature);
}
// etc...
});