【问题标题】:Openlayers: How to tell if a layer is available on the mapOpenlayers:如何判断地图上的图层是否可用
【发布时间】:2021-10-01 19:32:15
【问题描述】:

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

在 Leaflet 中我是这样使用的

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

【问题讨论】:

    标签: vector openlayers layer visible


    【解决方案1】:

    在 layerGroup 中放置一个图层,并为“change:layergroup”事件添加一个监听器:

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

    【讨论】:

    • 谢谢。我会测试。事实上,我需要测试每一层是否可见,如果是,我显示每一层的图例
    猜你喜欢
    • 2011-01-06
    • 1970-01-01
    • 2016-07-29
    • 2011-02-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-11-25
    • 1970-01-01
    相关资源
    最近更新 更多