У меня есть карта с векторным слоем с некоторыми функциями.Как отменить выбор функции после выбора всех
var map = new ol.Map({
view: mapManager.zoomedView(),
target: 'map-business',
layers: [
new ol.layer.Tile({
source: new ol.source.OSM()
})
]
})
var vectorSource = new ol.source.Vector();
var feats;
$.get("/test.geojson", function(data) {
vectorSource.addFeatures(new ol.format.GeoJSON().readFeatures(data))
feats = new ol.format.GeoJSON().readFeatures(data)
});
var vectorLayer = new ol.layer.Vector({
source: vectorSource,
style: new ol.style.Style({
fill: mapManager.defaultFill(),
stroke: mapManager.defaultStroke()
})
});
map.addLayer(vectorLayer);
Затем добавить избранную взаимодействие, потому что я хочу, чтобы отменить/выберите функции
var selectSingleClick = new ol.interaction.Select({
condition: ol.events.condition.click,
toggleCondition: ol.events.condition.click,
style: new ol.style.Style({
fill: mapManager.selectFill(),
stroke: mapManager.selectStroke()
})
});
map.addInteraction(selectSingleClick);
Теперь я хочу, чтобы выбрать все функции по умолчанию
var selectableFeatures = selectSingleClick.getFeatures()
selectableFeatures.push(feats[i])
Это нормально, все мои функции выбраны по умолчанию. Проблема в том, что я не могу отменить мои функции. Если я нажму на функцию, функция снова будет выбрана.
Как насчет каждый раз, когда усечение ваши selectableFeatures, прежде чем делать выбор? –
@TengMa Но следует ли использовать ol.interaction.Select? – elyrico
Любая обратная связь ...? –