簡體   English   中英

單擊按鈕如何在openlayers 3中切換geojson圖層可見性?

[英]How to toggle geojson layer visibility in openlayers 3 on click of a button?

我通過以下方式添加了幾個geojson層:

    var layer1 = new ol.layer.Vector({
        title: 'Geojson 1',
        source: new ol.source.Vector({
            url: 'geojson1.json',
            format: new ol.format.GeoJSON()
        })
    });

    map.addLayer(layer1);
    var layer1 = new ol.layer.Vector({
        title: 'Geojson 2',
        source: new ol.source.Vector({
            url: 'geojson2.json',
            format: new ol.format.GeoJSON()
        })
    });

    map.addLayer(layer2);

如何在我的地圖外創建一個具有onclick事件的按鈕“切換圖層1”和另一個“切換圖層2”的按鈕,以便相應的圖層在單擊時顯示和隱藏?

您可以像這樣將其綁定到按鈕元素(以layer1為例,也類似於layer2 ):

document.getElementById("myBtn").onclick = function() { 
    layer1.setVisible(!layer1.getVisible());
};

如果您有很多這樣的圖層/按鈕,則輔助功能可以概括該步驟並將其變得更簡潔:

var bindLayerButtonToggle = function (btnId, layer) {
    document.getElementById(btnId).onclick = function() { 
        layer.setVisible(!layer.getVisible());
    };
}

然后,您可以執行以下操作:

bindLayerButtonToggle("myBtn", layer1);
bindLayerButtonToggle("myBtn2", layer2);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM