소스 검색

试用setLayerStatusParameters

maxiaoxiao 10 달 전
부모
커밋
4c7fb07ba0
1개의 변경된 파일35개의 추가작업 그리고 31개의 파일을 삭제
  1. 35 31
      src/views/cockpit/common/VectorSpace/BoxCommonVector.vue

+ 35 - 31
src/views/cockpit/common/VectorSpace/BoxCommonVector.vue

@@ -143,52 +143,56 @@ export default {
       let res = await QueryOne({ jscType, id: "4602" });
       this.layersData = {
         ...res.data,
-        title: this.title,
-        id: "81f91e995b80435184cc51519bf0c1d3",
+        label: this.title,
+        // url: "http://192.168.60.2:8090/iserver/services/map-YinZiGongZuoKongJian/rest/maps/ssxf",
       };
       if (goitrem) this.go(goitrem);
       else {
         tdsy.addLayer(this.layersData);
         store.state.vectorlayerlist.push(this.layersData);
-        console.log("---aaa", store.state.vectorlayerlist);
       }
-      // this.Getlayers(res.data.url);
     },
     async Getlayers(mapurl) {
       let url = `${mapurl}/layers.json`;
       let res = await axios.get(url);
       let layers = res.data[0].subLayers.layers;
-      if (layers.length > 0) this.layersData.layerName = layers[0].name;
+      if (layers.length > 0) {
+        var params_gh = {
+          layerName: layers[0].name,
+          isVisible: true,
+          displayFilter: `xmmc = '${item["项目名称"]}'`,
+        };
+        tdsy.superProvider.setLayerStatusParameters([params_gh]).then((res) => {
+          if (res) this.goLayer(item.geom, res);
+        });
+      }
     },
     async setLayerStatus(item) {
-      let did_v = Number(item.did) - 1;
-      this.tempdataLayerId = did_v;
-      if (tdsy.layersObj[did_v]) {
-        tdsy.layersObj[did_v].show = true;
-        viewer.flyTo(layerSources[did_v], {
-          offset: new Cesium.HeadingPitchRange(0, -45),
-        });
+      if (item.did) {
+        let did_v = `[${Number(item.did) - 1}]`;
+        this.tempdataLayerId = did_v;
+        if (tdsy.layersObj[did_v]) {
+          tdsy.layersObj[did_v].show = true;
+          viewer.flyTo(layerSources[did_v], {
+            offset: new Cesium.HeadingPitchRange(0, -45),
+          });
+        } else {
+          this.goLayer(item.geom, did_v);
+        }
       } else {
-        if (tdsy.layer) tdsy.layer.show = false;
-        let layer = viewer.imageryLayers.addImageryProvider(
-          new Cesium.SuperMapImageryProvider({
-            url: this.layersData.url,
-            layersID: `[${did_v}]`,
-          })
-        );
-        tdsy.layersObj[did_v] = layer;
-        this.loadGeoJSON(item.geom, did_v);
+        this.Getlayers(this.layersData.url);
       }
-      // } else if (this.layersData.layerName) {
-      //   var params_gh = {
-      //     layerName: this.layersData.layerName,
-      //     isVisible: true,
-      //     displayFilter: `xmmc = '${item["项目名称"]}'`,
-      //   };
-      //   tdsy.superProvider.setLayerStatusParameters([params_gh]);
-      //   tdsy.layer.show = false;
-      //   let layer = viewer.imageryLayers.addImageryProvider(tdsy.superProvider);
-      //   tdsy.layersObj[item.did] = layer;
+    },
+    goLayer(geom, lid) {
+      if (tdsy.layer) tdsy.layer.show = false;
+      let layer = viewer.imageryLayers.addImageryProvider(
+        new Cesium.SuperMapImageryProvider({
+          url: this.layersData.url,
+          layersID: lid,
+        })
+      );
+      tdsy.layersObj[lid] = layer;
+      this.loadGeoJSON(geom, lid);
     },
     loadGeoJSON(geojson, id) {
       let polygon = Cesium.GeoJsonDataSource.load(geojson, {