2016-12-30 2 views
0

У меня есть векторный слой с маркерами слой в OpenLayers3Как отмените ol.layer.Vector программно

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

Как можно отменить выбор выбранной функции программным способом (а не по умолчанию по умолчанию (например, нажатие в другом месте на карте и т. Д.)).

ответ

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