From 4a5af28ba9fc254b81aae7345ae936cbaf0716be Mon Sep 17 00:00:00 2001
From: 少年 <1392120328@qq.com>
Date: 星期一, 04 三月 2024 15:33:56 +0800
Subject: [PATCH] youhua

---
 src/components/sideMenu/layerMenu/layerPanel2.vue |  200 ++++++++++++++++++-------------------------------
 1 files changed, 75 insertions(+), 125 deletions(-)

diff --git a/src/components/sideMenu/layerMenu/layerPanel2.vue b/src/components/sideMenu/layerMenu/layerPanel2.vue
index cf14e79..db3a36f 100644
--- a/src/components/sideMenu/layerMenu/layerPanel2.vue
+++ b/src/components/sideMenu/layerMenu/layerPanel2.vue
@@ -3,16 +3,30 @@
     <div class="mapMode">
       <div class="title" style="margin-top: 0px">鍦板浘妯″紡</div>
       <div class="container">
-        <div class="layerItem" :key="value.id" v-for="(value, index) in eMapModeList"
-          @click.stop="handleEMapClick(value, index)">
-          <img :src="value.src" :class="{ active: curEMapModelIndex == index }" />
+        <div
+          class="layerItem"
+          :key="value.id"
+          v-for="(value, index) in eMapModeList"
+          @click.stop="handleEMapClick(value, index)"
+        >
+          <img
+            :src="value.src"
+            :class="{ active: curEMapModelIndex == index }"
+          />
           <span :class="{ spanActive: curEMapModelIndex == index }">{{
             value.name
           }}</span>
         </div>
-        <div class="layerItem" :key="value0.id" v-for="(value0, index0) in sMapModelList"
-          @click.stop="handleSMapClick(value0, index0)">
-          <img :src="value0.src" :class="{ active: curSMapModelIndex == index0 }" />
+        <div
+          class="layerItem"
+          :key="value0.id"
+          v-for="(value0, index0) in sMapModelList"
+          @click.stop="handleSMapClick(value0, index0)"
+        >
+          <img
+            :src="value0.src"
+            :class="{ active: curSMapModelIndex == index0 }"
+          />
           <span :class="{ spanActive: curSMapModelIndex == index0 }">{{
             value0.name
           }}</span>
@@ -23,11 +37,17 @@
       <div class="title">
         涓撻搴旂敤
         <!-- 涓嶆樉绀烘洿澶氬浘灞� -->
-        <span class="more" v-show="false" @click.stop="showLayerTree">鏇村鍥惧眰<i class="el-icon-arrow-right"></i></span>
+        <span class="more" v-show="false" @click.stop="showLayerTree"
+          >鏇村鍥惧眰<i class="el-icon-arrow-right"></i
+        ></span>
       </div>
       <div class="container">
-        <div class="layerItem" v-for="(ZTValue, ZTIndex) in zhuantiList" :key="ZTValue.id"
-          @click.stop="handleZTlick(ZTValue, ZTIndex)">
+        <div
+          class="layerItem"
+          v-for="(ZTValue, ZTIndex) in zhuantiList"
+          :key="ZTValue.id"
+          @click.stop="handleZTlick(ZTValue, ZTIndex)"
+        >
           <img :src="ZTValue.src" :class="{ active: curZTIndex == ZTIndex }" />
           <span :class="{ spanActive: curZTIndex == ZTIndex }">{{
             ZTValue.name
@@ -36,9 +56,16 @@
       </div>
       <div class="title2"></div>
       <div class="container">
-        <div class="layerItem" v-for="(funcValue, funcIndex) in FuncList" :key="funcValue.id"
-          @click.stop="handleFuncClick(funcIndex)">
-          <img :src="funcValue.src" :class="{ active: curFuncIndex == funcIndex }" />
+        <div
+          class="layerItem"
+          v-for="(funcValue, funcIndex) in FuncList"
+          :key="funcValue.id"
+          @click.stop="handleFuncClick(funcIndex)"
+        >
+          <img
+            :src="funcValue.src"
+            :class="{ active: curFuncIndex == funcIndex }"
+          />
           <span :class="{ spanActive: curFuncIndex == funcIndex }">{{
             funcValue.name
           }}</span>
@@ -82,12 +109,15 @@
 import store from "@/utils/store2.js";
 import ZTTitem from "@/utils/ztt2.js";
 import { layers } from "../../../../static/json/layer.js";
-
-// import Tile from "ol/layer/Tile";
-// import XYZ from "ol/source/XYZ";
-// import { get as getProjection, getTransform } from "ol/proj";
-// import { createXYZ } from "ol/tilegrid";
-
+import {
+  addImageLayer,
+  addAnnotationLayer,
+  addHxLayer,
+  addYzLayer,
+  loadBaseMap,
+  loadGeoMap,
+  clearAll,
+} from "@/utils/tool";
 export default {
   name: "LayerPanel",
   data() {
@@ -226,104 +256,24 @@
     },
     // 浜岀淮搴曞浘閫夋嫨
     handleEMapClick(result, index) {
-      // 璁剧疆鐩告満
-      // if (result.name == "浜岀淮鍦板浘") {
-      //   window.mapapi.getLayerByName("浜岀淮鍦板浘").setVisible(true);
-      //   window.mapapi.getLayerByName("褰卞儚鍦板浘").setVisible(false);
-      // } else if (result.name == "褰卞儚鍦板浘") {
-      //   window.mapapi.getLayerByName("褰卞儚鍦板浘").setVisible(true);
-      //   window.mapapi.getLayerByName("浜岀淮鍦板浘").setVisible(false);
-      // }
-
-      // 鍒囨崲鍥惧眰
-      const val = layers.filter((res) => {
-        if (res.name == result.name) {
-          return res;
-        }
-      });
-      const children = val[0].children;
-      // console.log(children, '111')
-      if (result.name == '褰卞儚鍦板浘') {
-        //鍔犺浇鑸媿褰卞儚
-        window.ImageLayer = new ol.layer.Tile({
-          id: 'C0698021',
-          visible: true,
-          source: new ol.source.XYZ({
-            wrapX: true,
-            url: `${'https://services.arcgisonline.com/ArcGIS/rest/services/World_Imagery/MapServer'}/tile/{z}/{y}/{x}`,
-          }),
-          projection: new ol.proj.get('EPSG:4326')
-        });
-        window.mapapi.addLayer(window.ImageLayer);
-
-        //鍔犺浇楂樺痉鏍囨敞
-        window.annotation = new ol.layer.Tile({
-          id: '69EB42A8',
-          visible: true,
-          source: new ol.source.XYZ({
-            wrapX: true,
-            url: `https://webst02.is.autonavi.com/appmaptile?style=8&x={x}&y={y}&z={z}`,
-          }),
-          projection: new ol.proj.get('EPSG:4326')
-        });
-        window.mapapi.addLayer(window.annotation);
-
-
-        window.hexin = new ol.layer.Tile({
-          source: new ol.source.TileWMS({
-            ratio: 3,
-            url: 'https://skyzt.bda.gov.cn/gisserver/wmsserver/YZ_BJ60',//鍥惧眰鍦板潃
-            params: {
-              'VERSION': '1.1.1',
-              'SRS': 'EPSG:4326',
-              'FORMAT': 'image/png',
-              'TILED': true,
-              "LAYERS": ''
-            }
-          })
-        })
-        window.mapapi.addLayer(window.hexin)
-
-
-        //浜﹀簞鏂板煄瑙勫垝鑼冨洿
-        window.yizhuang = new ol.layer.Tile({
-          source: new ol.source.TileWMS({
-            ratio: 3,
-            url: 'https://skyzt.bda.gov.cn/gisserver/wmsserver/YZ_BJ',//鍥惧眰鍦板潃
-            params: {
-              'VERSION': '1.1.1',
-              'SRS': 'EPSG:4326',
-              'FORMAT': 'image/png',
-              'TILED': true,
-              "LAYERS": ''
-            }
-          })
-        })
-        window.mapapi.addLayer(window.yizhuang)
-      } else {
-        window.mapapi.removeLayer(window.ImageLayer);
-        window.mapapi.removeLayer(window.annotation)
-        window.mapapi.removeLayer(window.hexin);
-        window.mapapi.removeLayer(window.yizhuang);
-      }
-
-
-
-      if (this.curEMapModelIndex == index) {
-        // 鍐嶆鐐瑰嚮閫変腑鐨刬tem鏃跺彇娑堥�夋嫨
-        // clearLayerByTypeId(result.id);
-        // this.curEMapModelIndex = -1;
-      } else {
-        this.curSMapModelIndex = -1;
-        this.curEMapModelIndex = index;
-        // clearLayerByTypeIdArr(["ewdt", "yxdt"]);
-        // clearLayerByTypeIdArr(["3Dcs", "swmx"]);
-        // _GLOBAL.layers[result.id] = [];
-        // children.forEach((item) => {
-        //   let itemLayer = loadLayer(item);
-        //   _GLOBAL.layers[result.id].push(itemLayer);
-        //   // console.log(_GLOBAL.layers[result.id]);
-        // });
+      if (this.curEMapModelIndex == index) return;
+      this.curEMapModelIndex = index;
+      clearAll();
+      switch (result.name) {
+        case "浜岀淮鍦板浘":
+          loadGeoMap();
+          loadBaseMap();
+          addAnnotationLayer();
+          addHxLayer();
+          addYzLayer();
+          window.mapapi.getView().setZoom(14);
+          break;
+        case "褰卞儚鍦板浘":
+          addImageLayer();
+          addAnnotationLayer();
+          addHxLayer();
+          addYzLayer();
+          break;
       }
     },
     // 涓夌淮妯″瀷閫夋嫨
@@ -476,16 +426,16 @@
             window.tdgllayer = new ol.layer.Tile({
               source: new ol.source.TileWMS({
                 ratio: 3,
-                url: 'https://skyzt.bda.gov.cn//gisserver/wmsserver/chengshiguihua_dikuaibianhao',
+                url: "https://skyzt.bda.gov.cn/gisserver/wmsserver/chengshiguihua_dikuaibianhao",
                 params: {
-                  'VERSION': '1.1.1',
-                  'SRS': 'EPSG:4326',
-                  'FORMAT': 'image/png',
-                  'TILED': true,
-                  "LAYERS": ''
-                }
-              })
-            })
+                  VERSION: "1.1.1",
+                  SRS: "EPSG:4326",
+                  FORMAT: "image/png",
+                  TILED: true,
+                  LAYERS: "",
+                },
+              }),
+            });
 
             // window.tdgllayer = new ol.layer.Tile({
             //   source: new ol.source.XYZ({

--
Gitblit v1.9.3