通过setVisible控制显示于隐藏

    1. <body>
    2. <div id="map_container">
    3. <button onclick="showVec()">显示矢量图</button>
    4. <button onclick="showImg()">显示影像图</button>
    5. </div>
    6. <script>
    7. /* 一、渲染地图 */
    8. const map = new ol.Map({
    9. target: 'map_container',
    10. layers: [TianDiMap_vec, TianDiMap_cva, TianDiMap_img, TianDiMap_cia],
    11. view: new ol.View({
    12. projection: 'EPSG:4326', // 经纬度坐标系(默认是默卡托坐标系)
    13. center: [110, 30],
    14. zoom: 4,
    15. })
    16. })
    17. var layers = map.getLayers().array_;
    18. console.log(layers)
    19. function showVec(){
    20. layers.forEach((item,index)=>{
    21. if(index<2){
    22. item.setVisible(true)
    23. }else{
    24. item.setVisible(false)
    25. }
    26. })
    27. }
    28. function showImg(){
    29. layers.forEach((item,index)=>{
    30. if(index<2){
    31. item.setVisible(false)
    32. }else{
    33. item.setVisible(true)
    34. }
    35. })
    36. }
    37. </script>
    38. </body>