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

时间:2016-10-10 11:16:14

标签: javascript openlayers-3

我已经设置了一个带有单个矢量图层的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'
  • 的功能

请帮助解决如何实现此行为。

1 个答案:

答案 0 :(得分:1)

将以下内容添加到选择交互的选项中会产生所需的行为:

toggleCondition: function (mbe) {
    return (mbe.type == 'click');
}