如何以编程方式取消选择 ol.layer.Vector



我在OpenLayers3中有一个带有标记层的矢量层

var iconLayer = new ol.layer.Vector({
        source: iconSource,
        style: styles.iconStyle
 });

单击标记上的事件会执行一些操作,并在选择时更改标记样式,例如

var markerClickInteraction = new ol.interaction.Select({
  condition: ol.events.condition.click,
  layers:[iconLayer],
  style:styles.iconSelectedStyle
});

如何以编程方式取消选择所选要素(而不是通过默认的取消选择行为(例如,单击地图上的其他地方等))。

创建ol.interaction.Select交互时,可以指定功能选项。如果设置此选项,则所有选定要素都将放置在此ol.Collection对象中。使用此ol.Collection您可以操作选定的功能,例如clear()或其他功能。如果清除ol.Collection对象,则将自动取消选择所有选定的要素。

var featuresColl = new ol.Collection();
var markerClickInteraction = new ol.interaction.Select({
  condition: ol.events.condition.click,
  layers:[iconLayer],
  style:styles.iconSelectedStyle,
  features : featuresColl
});

最新更新