我在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
});