Javascript 如何在openlayers 3中点击按钮切换geojson层可见性?
我通过以下方式添加了几个geojson层:Javascript 如何在openlayers 3中点击按钮切换geojson层可见性?,javascript,openlayers-3,Javascript,Openlayers 3,我通过以下方式添加了几个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 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);
如何在地图外部创建一个按钮切换层1和另一个按钮切换层2,该按钮具有onclick事件,以便在单击时显示和隐藏相应的层 以layer1为例,您可以将其绑定到button元素,与layer2类似: 如果您有很多这样的层/按钮,则助手函数可以概括该步骤并使其更干净:
var bindLayerButtonToggle = function (btnId, layer) {
document.getElementById(btnId).onclick = function() {
layer.setVisible(!layer.getVisible());
};
}
然后你可以做:
bindLayerButtonToggle("myBtn", layer1);
bindLayerButtonToggle("myBtn2", layer2);
bindLayerButtonToggle("myBtn", layer1);
bindLayerButtonToggle("myBtn2", layer2);