Openlayers:如何判断一个图层在地图上是否可用



我有一个疑问。在openlayers中,我如何知道是否添加了图层或地图?例如,我有一个图层控件,可以查看该图层在地图上是否可见。

在传单中我是这样使用的

my_layer_leaflet.on("add",function(){
);

在openlayers中呢?

var my_layer_openlayers = new ol.layer.Vector({
title: 'MyLayer',
visible: false,
style: new ol.style.Style({
image: new ol.style.Icon( ({
anchor: [0.5, 26],
anchorXUnits: 'fraction',
anchorYUnits: 'pixels',
src: 'legend/image.png'
}))
}),
source:  new ol.source.Vector({
format: new ol.format.GeoJSON(),
url: function(extent) {
return layer_geoserver;
},
strategy: ol.loadingstrategy.all,
})
});

将单个图层放到layerGroup中,并为"change: layerGroup &;事件:

var baseLayerGroup = new ol.layer.Group({layers: [layer_geoserver]});     
map.on("change:layergroup", function() {console.log("LayerGroup changed.")});
map.setLayerGroup(baseLayerGroup);
const isLayerExistsInMap = map.getLayers().getArray().includes(layer)

这对我有用,不太确定这是否是你要求的。