我已经建立了一个ol3地图与一个单一的矢量层,其中的特征是由一个type
属性区分。我添加了一个选择交互,只选择/取消选择type == 'cp'
的功能。到目前为止,我有:
selectInteraction = new ol.interaction.Select({
condition: ol.events.condition.click,
filter: function (feat, layer) {
return (feat.get('type') == 'cp');
}
});
我现在想要的:
- 当点击"cp"类型的特性时,将切换其选择(不影响任何其他选择)
- 不按住shift键选择多个功能
- 选择必须不被清除,如果点击发生在没有cp 类型的特征
请帮助如何实现这个行为。
将以下内容添加到select交互的选项中可以获得期望的行为:
toggleCondition: function (mbe) {
return (mbe.type == 'click');
}