通过setVisible控制显示于隐藏
<body>
<div id="map_container">
<button onclick="showVec()">显示矢量图</button>
<button onclick="showImg()">显示影像图</button>
</div>
<script>
/* 一、渲染地图 */
const map = new ol.Map({
target: 'map_container',
layers: [TianDiMap_vec, TianDiMap_cva, TianDiMap_img, TianDiMap_cia],
view: new ol.View({
projection: 'EPSG:4326', // 经纬度坐标系(默认是默卡托坐标系)
center: [110, 30],
zoom: 4,
})
})
var layers = map.getLayers().array_;
console.log(layers)
function showVec(){
layers.forEach((item,index)=>{
if(index<2){
item.setVisible(true)
}else{
item.setVisible(false)
}
})
}
function showImg(){
layers.forEach((item,index)=>{
if(index<2){
item.setVisible(false)
}else{
item.setVisible(true)
}
})
}
</script>
</body>