2016-12-30 41 views
0

我有標記層載體層OpenLayers3如何取消選擇ol.layer.Vector編程

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

上的標記Click事件做一些東西,也當選擇像

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

我怎樣才能以編程方式取消選定的功能(不是通過默認的取消選擇行爲(例如點擊地圖上的其他地方等))。

回答

1

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