选择交互:仅在单击功能时切换

Select interaction: toggle only when clicking feature

本文关键字:功能 单击 交互 选择      更新时间:2023-09-26

我已经建立了一个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');
}