管道基础大数据平台系统开发-【前端】-新系統界面
1
Surpriseplus
2023-02-14 adba628772067ff547396522c245d1fcfe6d9f7e
src/views/Tools/LayerTree.vue
@@ -15,7 +15,8 @@
      @node-contextmenu="rightClick"
      @check-change="handleCheckChange"
      :default-checked-keys="handleTreeCheck"
      ref="tree"     >
      ref="tree"
    >
      <span
        class="slot-t-node"
        slot-scope="{ node, data }"
@@ -143,6 +144,14 @@
import { image_layer } from '../../assets/js/index.js';
import ImageWMS from 'ol/source/ImageWMS';
import Image from 'ol/layer/Image';
import GeoJSON from 'ol/format/GeoJSON.js';
import Map from 'ol/Map.js';
import {   Vector as VectorSource } from "ol/source";
import { Vector as VectorLayer,  } from "ol/layer";
import View from 'ol/View.js';
import { Fill, Stroke, Style } from 'ol/style.js';
import { perms_selectLayers } from '../../api/api.js'
export default {
  name: 'tree',
@@ -411,7 +420,13 @@
      if (std.length == 0 && checked == true) {
        this.setAddLayers(data)
      }
      var layers_ol = window.map.getAllLayers();
      for (var i in layers_ol) {
        var layerOl = layers_ol[i];
        if (layerOl.values_.name == data.label) {
          layerOl.setVisible(checked); //显示图层
        }
      }
    },
    setAddLayers(res) {
@@ -430,6 +445,20 @@
        });
        layerWMS.name = res.label;
        window.Viewer.imageryLayers.addImageryProvider(layerWMS);
        var layer2 = new Image({
          name: res.label,
          source: new ImageWMS({
            crossOrigin: 'anonymous',
            url: url,
            params: {
              FORMAT: 'image/png',
              VERSION: '1.1.1',
              LAYERS: res.resource,
            },
          }),
        });
        window.map.addLayer(layer2);
      } else if (res.layerType == 'WFS') {
        var url = res.url + "?service=WFS&version=1.0.0&request=GetFeature&typeName=" + res.resource + "&outputFormat=application%2Fjson"
@@ -454,6 +483,18 @@
            console.log("error");
          }
        });
        var vectorLayer = new VectorLayer({
          source: new VectorSource({
            url: url,
            format: new GeoJSON(),
          }),
        });
        window.map.addLayer(vectorLayer);
      }