2016-10-10 88 views
0

我已经设置了一个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”
没有 特征选择必须不被清除

请帮助如何实现此行为。

回答

0

添加下面的选择交互的选项是给所需的行为:

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

注意,这等同于'toggleCondition:ol.events.condition.click'。另外,如果您的问题已解决,请将您的答案标记为已接受。 –