From 3b5dbac6e74e9c8d8baf9fa997436ea567c69340 Mon Sep 17 00:00:00 2001
From: Jin Lei <jinlei_182@163.com>
Date: 星期六, 11 十一月 2023 17:59:04 +0800
Subject: [PATCH] [历史影像]添加路网

---
 src/components/map/viewer1.vue |   42 ++++++++++++++++++++
 src/components/map/viewer.vue  |   55 +++++++++++++++++++++++++++
 2 files changed, 95 insertions(+), 2 deletions(-)

diff --git a/src/components/map/viewer.vue b/src/components/map/viewer.vue
index c9b1318..996d5cd 100644
--- a/src/components/map/viewer.vue
+++ b/src/components/map/viewer.vue
@@ -43,7 +43,7 @@
 import "animate.css";
 import Bus from "@tools/Bus";
 
-let activeLi, nLayer;
+let activeLi, nLayer,LWLayer;
 export default {
   name: "viewer",
   components: {
@@ -72,6 +72,19 @@
   },
   computed: {
     ...mapState(["viewer1Show", "isLand", "layerTreeTwoScreen", "cesiumInit"]),
+  },
+  watch: {
+    viewer1Show(newvalue, oldvalue) {
+      if (!newvalue) {
+        this.destroyImageLayer();
+      }
+    },
+    isLand(newvalue, oldvalue) {
+      if (newvalue) {
+        this.destroyImageLayer();
+      }
+
+    }
   },
   mounted() {
     this.$nextTick(function () {
@@ -260,6 +273,10 @@
         Viewer.imageryLayers.remove(nLayer, true);
         nLayer = null;
       }
+      if (LWLayer) {
+        Viewer.imageryLayers.remove(LWLayer, true);
+        LWLayer = null;
+      }
     },
     changeLeftMap(event, item, index) {
       let liObj = event.currentTarget;
@@ -277,6 +294,42 @@
         nLayer = null;
       }
       nLayer = this.loadBJ54ImageLayer(year);
+      if(!LWLayer)
+      {
+        LWLayer = this.loadBJ54LWLayer();
+      }
+    },
+    loadBJ54LWLayer() {
+      let url = "http://172.26.64.84/service/ImageEngine/picdis/abc";
+      //let url = option.url;
+      //let year = option.year;
+      let paramUrl = `${url}?user=jjjskfq&password=Jjjskfq@2022&layer=Shiliang_Lw_2019&style=&Service=WMTS&Request=GetTile&Version=1.0.0&Format=image%2Fpng&TileMatrix={z}&TileCol={nx}&TileRow={ny}`;
+      let minx = 113.168199 * Math.PI / 180.0;
+      let miny = 39.230551 * Math.PI / 180.0;
+      let maxx = 118.562362 * Math.PI / 180.0;
+      let maxy = 41.294714 * Math.PI / 180.0;
+      let rectangle = new Cesium.Rectangle(minx, miny, maxx, maxy);
+      let tilingScheme = new Cesium.GeographicTilingScheme({
+        rectangle: rectangle,
+        numberOfLevelZeroTilesX: 2,
+        numberOfLevelZeroTilesY: 1
+      });
+      var dx = {
+        url: paramUrl,
+        tilingScheme: tilingScheme,
+        customTags: {
+          nx: function (imageryProvider, x, y, level) {
+            return (2 << (level - 1)) + x;
+          },
+          ny: function (imageryProvider, x, y, level) {
+            return (2 << (level - 1)) + y;
+          }
+        }
+      };
+      var imageryProvider = new Cesium.UrlTemplateImageryProvider(dx);
+      let imageLayer = new Cesium.ImageryLayer(imageryProvider, { alpha: 1, brightness: 1.0 });
+      Viewer.imageryLayers.add(imageLayer, 3);
+      return imageLayer;
     },
     loadBJ54ImageLayer(year) {
       let url = "http://172.26.64.84/service/ImageEngine/picdis/abc";
diff --git a/src/components/map/viewer1.vue b/src/components/map/viewer1.vue
index bba459a..dad96c5 100644
--- a/src/components/map/viewer1.vue
+++ b/src/components/map/viewer1.vue
@@ -94,7 +94,7 @@
 
 import Bus from "../tools/Bus";
 
-let line, line1, handler, handler1, divPoint, divPoint1, dx, activeLi, nLayer, TDLayer;
+let line, line1, handler, handler1, divPoint, divPoint1, dx, activeLi, nLayer, TDLayer, LWLayer;
 export default {
   name: "viewer1",
   components: { layerTreeTwoScreenRight },
@@ -179,6 +179,7 @@
           sgworld1.Creator.DeleteObject(line1);
         }
       } else {
+        this.destroyImageLayer();
         if (!TDLayer) {
           this.loadTDGLLayer();
         }
@@ -282,6 +283,10 @@
         Viewer1.imageryLayers.remove(nLayer, true);
         nLayer = null;
       }
+      if (LWLayer) {
+        Viewer1.imageryLayers.remove(LWLayer, true);
+        LWLayer = null;
+      }
     },
     changeLeftMap(event, item, index) {
       let liObj = event.currentTarget;
@@ -299,6 +304,41 @@
         nLayer = null;
       }
       nLayer = this.loadBJ54ImageLayer(year);
+      if (!LWLayer) {
+        LWLayer = this.loadBJ54LWLayer();
+      }
+    },
+    loadBJ54LWLayer() {
+      let url = "http://172.26.64.84/service/ImageEngine/picdis/abc";
+      //let url = option.url;
+      //let year = option.year;
+      let paramUrl = `${url}?user=jjjskfq&password=Jjjskfq@2022&layer=Shiliang_Lw_2019&style=&Service=WMTS&Request=GetTile&Version=1.0.0&Format=image%2Fpng&TileMatrix={z}&TileCol={nx}&TileRow={ny}`;
+      let minx = 113.168199 * Math.PI / 180.0;
+      let miny = 39.230551 * Math.PI / 180.0;
+      let maxx = 118.562362 * Math.PI / 180.0;
+      let maxy = 41.294714 * Math.PI / 180.0;
+      let rectangle = new Cesium.Rectangle(minx, miny, maxx, maxy);
+      let tilingScheme = new Cesium.GeographicTilingScheme({
+        rectangle: rectangle,
+        numberOfLevelZeroTilesX: 2,
+        numberOfLevelZeroTilesY: 1
+      });
+      var dx = {
+        url: paramUrl,
+        tilingScheme: tilingScheme,
+        customTags: {
+          nx: function (imageryProvider, x, y, level) {
+            return (2 << (level - 1)) + x;
+          },
+          ny: function (imageryProvider, x, y, level) {
+            return (2 << (level - 1)) + y;
+          }
+        }
+      };
+      var imageryProvider = new Cesium.UrlTemplateImageryProvider(dx);
+      let imageLayer = new Cesium.ImageryLayer(imageryProvider, { alpha: 1, brightness: 1.0 });
+      Viewer1.imageryLayers.add(imageLayer, 3);
+      return imageLayer;
     },
     loadBJ54ImageLayer(year) {
       let url = "http://172.26.64.84/service/ImageEngine/picdis/abc";

--
Gitblit v1.9.3