我在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
});
如何以编程方式取消选择所选要素(而不是通过默认的取消选择行为(例如,点击地图上的其他位置等))。
答案 0 :(得分:1)
在创建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
});
对象,则会自动取消选择所有选定的功能。
document.querySelectorAll('.imageBlockFloatLeftClearLeft > p:last-child').forEach(function(caption) {
var innerHTML = caption.innerHTML; // 'Fig. 4554. Description blah blah 325355 2 4.'
var matches = innerHTML.match(/(Fig.\s\d+.)(.+)/);
var fig = matches[1]; //'Fig. 4554.''
var descr = matches[2]; // ' Description blah blah 325355 2 4.'
caption.innerHTML = '<em>' + fig + '</em>' + descr;
});