From bf58722dfd03ea1513f3acc7331d4d4403fca76e Mon Sep 17 00:00:00 2001
From: shuishen <1109946754@qq.com>
Date: Fri, 18 Mar 2022 11:48:37 +0800
Subject: [PATCH] Merge branch 'master' of http://192.168.0.105:10010/r/school-web

---
 src/components/mobilemap/index.vue |  634 +++++++++++++++++++++++++++++----------------------------
 1 files changed, 326 insertions(+), 308 deletions(-)

diff --git a/src/components/mobilemap/index.vue b/src/components/mobilemap/index.vue
index 8622de2..928e127 100644
--- a/src/components/mobilemap/index.vue
+++ b/src/components/mobilemap/index.vue
@@ -5,7 +5,7 @@
     <div id="mobile-map_popup_content"></div>
     <mobileWindow></mobileWindow>
     <!-- 地图固定弹窗 -->
-    <mobileWindowFixed></mobileWindowFixed>
+    <!-- <mobileWindowFixed></mobileWindowFixed> -->
     <!-- 地图图标弹窗↑ -->
     <!-- 控制↓ -->
     <mobileLeftNav ref="mobileLeftNav"></mobileLeftNav>
@@ -19,7 +19,7 @@
     <!-- 大弹窗 -->
     <mobilePopupOur :style="[bigPopup]" v-if="mBigPopup"></mobilePopupOur>
     <!-- 测试-跳转位置 -->
-    <mobileGoTo></mobileGoTo>
+    <!-- <mobileGoTo></mobileGoTo> -->
     <!-- 实景窗口 -->
     <mobilePanorama></mobilePanorama>
     <!-- 退出导航 -->
@@ -38,11 +38,39 @@
 import axios from "axios";
 import { getBuildClock } from "@/api/mobile/buildsClock/buildsClock"; // 楼栋详情
 import { mapGetters } from "vuex";
+
+//baselayer
+window.baselayer = null;
+window.conBack = null;
+window.butbut = null;
+window.butSetViews = null;
+window.setViews = null;
+window.tilesetLayer = null;
+window.tileset = null;
+window.silhouetteBlue = null;
+window.highlighted = null;
+window.selected = null;
+window.usetowpointfive = null;
+window.provider = null;
+window.newLayer = null;
+window.layerGroup = null;
+window.areaLayer = null;
+window.polygon = null;
+window.doit2 = null;
+window.wallLayer = null;
+window.initViewer = null; //主方法
+
+window.takes = null;
+window.height1s = null;
+window.height2s = null;
+window.height3s = null;
+window.height4s = null;
+
 export default {
   name: "mobilemapBox",
   data() {
     return {
-      butbut: null,
+      // butbut: null,
       heights: 0,
       heights1: 0,
       bigPopup: {
@@ -85,37 +113,36 @@
         [116.39585177, 27.93945304, 100],
         [116.41526036, 27.95352217, 100],
       ],
-      areaLayer: null,
-      mapCenter: [115.871863, 28.743861, 160.0],
-      //   mapCenter: [114.04062292 - 0.00035, 27.62666834 + 0.0025, 160.0],
+      // areaLayer: null,
+      // mapCenter: [115.871863, 28.743861, 160.0],
+      mapCenter: [114.04062292 - 0.00035, 27.62666834 + 0.0025, 160.0],
       // 控制4层缩放
-      onelayerNum: 80,
-      towlayerNum: 120,
-      threelayerNum: 160,
-      forlayerNum: null,
-      intervallayerNum: 20,
-      frislayertHeight: 120, // 默认高度
       // onelayerNum: 80,
-      // towlayerNum: 200,
-      // threelayerNum: 320,
-      // forlayerNum: 440,
-      // intervallayerNum: 60,
-      // frislayertHeight: 320, //默认高度
+      // towlayerNum: 120,
+      // threelayerNum: 160,
+      // forlayerNum: null,
+      // intervallayerNum: 20,
+      // frislayertHeight: 120, // 默认高度
+      onelayerNum: 110,
+      towlayerNum: 140,
+      threelayerNum: 170,
+      forlayerNum: 200,
+      intervallayerNum: 15,
+      frislayertHeight: 200, //默认高度
     };
   },
   computed: {
     ...mapGetters([
-      "mviewer",
-      "MobileWindowsHide",
+      // "mviewer",
+      // "MobileWindowsHide",
       "mBigPopup",
-      "mBigPopupAfter",
+      // "mBigPopupAfter",
       "iconHide",
-      "popupsDom",
-      "MobileWindowsHideFixed",
+      // "popupsDom",
       "dimension",
       "dimensionData",
-      "areaLayer", // 绿布
-      "areaLayerSelect", // 绿布颜色控制
+      // "areaLayer", // 绿布
+      // "areaLayerSelect", // 绿布颜色控制
       "urlParameterData", // url 参数
     ]),
   },
@@ -136,68 +163,10 @@
     // return;
     var that = this;
 
-    let viewer;
+    // let viewer;
 
-    function distanceSurface() {
-      viewer.measure.distanceSurface();
-    }
-
-    function calcArea() {
-      viewer.measure.area();
-    }
-
-    function areaSurface() {
-      viewer.measure.areaSurface();
-    }
-
-    function calcAngle() {
-      viewer.measure.angle();
-    }
-
-    function calcModelAngle() {
-      viewer.measure.angle({
-        clampToModel: true,
-      });
-    }
-
-    function calcHeight() {
-      viewer.measure.height();
-    }
-
-    function calcModelHeight() {
-      viewer.measure.height({
-        clampToModel: true,
-      });
-    }
-
-    function calcHeading() {
-      viewer.measure.heading();
-    }
-
-    function areaHeight() {
-      viewer.measure.areaHeight();
-    }
-
-    function calcTriangleHeight() {
-      viewer.measure.triangleHeight();
-    }
-
-    function calcModelTriangleHeight() {
-      viewer.measure.triangleHeight({
-        clampToModel: true,
-      });
-    }
-
-    function deactivate() {
-      viewer.measure.deactivate();
-    }
-
-    function gotoModel() {
-      viewer.flyTo(tileset);
-    }
-
-    function initViewer() {
-      viewer = new global.DC.Viewer("mobile-viewer-container", {
+    window.initViewer = () => {
+      global.viewer = new global.DC.Viewer("mobile-viewer-container", {
         contextOptions: {
           webgl: {
             stencil: true,
@@ -205,18 +174,18 @@
           },
         },
       });
-      that.$refs.mobileLeftNav.initialize(viewer);
-      that.$store.commit("MSET_VIEWER", viewer);
+
+      // viewer = global.viewer;
+      that.$refs.mobileLeftNav.initialize();
+      // that.$store.commit("MSET_VIEWER", viewer);
       // window.mviewer = viewer;
       // that.$store.commit("MSET_DC", DC);
-      const popup = viewer.popup;
-
-      popup.hide();
+      global.viewer.popup.hide();
 
       // const baselayer = DC.ImageryLayerFactory.createArcGisImageryLayer({
       //   url: "http://services.arcgisonline.com/ArcGIS/rest/services/World_Imagery/MapServer",
       // });
-      const baselayer = global.DC.ImageryLayerFactory.createImageryLayer(
+      window.baselayer = global.DC.ImageryLayerFactory.createImageryLayer(
         global.DC.ImageryType.XYZ,
         {
           // url: 'https://webmap-tile.sf-express.com/MapTileService/rt?x={col}&y={row}&z={level}'
@@ -224,7 +193,7 @@
           url: "https://webmap-tile.sf-express.com/MapTileService/rt?fetchtype=static&x={x}&y={y}&z={z}&project=sfmap&pic_size=256&pic_type=png8&data_name=361100&data_format=merged-dat&data_type=normal", // 行政区划
         }
       );
-      // viewer.addBaseLayer(baselayer, {
+      // global.viewer.addBaseLayer(baselayer, {
       //   iconUrl: "examples/images/icon/img.png",
       //   name: "影像",
       // });
@@ -232,7 +201,7 @@
       // const baselayer_shaded = DC.ImageryLayerFactory.createArcGisImageryLayer({
       //   url: "http://services.arcgisonline.com/arcgis/rest/services/World_Shaded_Relief/MapServer",
       // });
-      // viewer.addBaseLayer(baselayer_shaded, {
+      // global.viewer.addBaseLayer(baselayer_shaded, {
       //   iconUrl: "examples/images/icon/elec.png",
       //   name: "电子",
       // });
@@ -241,7 +210,7 @@
       // const baselayer_street = DC.ImageryLayerFactory.createArcGisImageryLayer({
       //   url: "http://services.arcgisonline.com/arcgis/rest/services/World_Physical_Map/MapServer",
       // });
-      // viewer.addBaseLayer(baselayer_street, {
+      // global.viewer.addBaseLayer(baselayer_street, {
       //   iconUrl: "examples/images/icon/ter.png",
       //   name: "地形",
       // });
@@ -250,34 +219,37 @@
       // const baselayer_ter = DC.ImageryLayerFactory.createArcGisImageryLayer({
       //   url: "http://services.arcgisonline.com/arcgis/rest/services/World_Terrain_Base/MapServer",
       // });
-      // viewer.addBaseLayer(baselayer_ter, {
+      // global.viewer.addBaseLayer(baselayer_ter, {
       //   iconUrl: "examples/images/icon/ter.png",
       //   name: "地形",
       // });
 
       // 地图移动事件
-      viewer.on(global.DC.MouseEventType.MOUSE_MOVE, (e) => {
+      global.viewer.on(global.DC.MouseEventType.MOUSE_MOVE, (e) => {
         if (!that.iconHide) {
           that.$store.commit("MSET_ICONHIDE", true);
         }
-        if (!that.MobileWindowsHide) {
-          // that.$store.dispatch("closeMobileWindowsDom"); //关闭随地图弹窗
-        }
-        // let height = Math.ceil(viewer.camera.positionCartographic.height);
+        // if (!that.MobileWindowsHide) {
+        // that.$store.dispatch("closeMobileWindowsDom"); //关闭随地图弹窗
+        // }
+        // let height = Math.ceil(global.viewer.camera.positionCartographic.height);
         // console.log(height);
       });
-
-      // viewer.on(global.DC.SceneEventType.CAMERA_MOVE_END, (e) => {
-      viewer.on(global.DC.SceneEventType.CAMERA_CHANGED, (e) => {
+      // global.viewer.on(global.DC.SceneEventType.CAMERA_MOVE_END, (e) => {
+      global.viewer.on(global.DC.SceneEventType.CAMERA_CHANGED, (e) => {
         // 相机移动最后参数
         // 控制高度
+        // return;
         const isSet = that.dimension != "3D";
-        const height = Math.ceil(viewer.camera.positionCartographic.height);
-        const conBack = (height) => {
-          viewer.camera.setView({
+        window.height1s = Math.ceil(
+          global.viewer.camera.positionCartographic.height
+        );
+        window.conBack = (height) => {
+          global.viewer.camera.setView({
             destination: global.DC.Namespace.Cesium.Cartesian3.fromRadians(
-              viewer.camera.positionCartographic.longitude,
-              viewer.camera.positionCartographic.latitude,
+              global.viewer.camera.positionCartographic.longitude,
+
+              global.viewer.camera.positionCartographic.latitude,
               height
             ),
             orientation: {
@@ -300,8 +272,8 @@
         // if (height <= 79 && isSet) {
         //   conBack(79);
         // }
-        if (height <= that.onelayerNum - 1 && isSet) {
-          conBack(that.onelayerNum - 1);
+        if (window.height1s <= that.onelayerNum - 1 && isSet) {
+          window.conBack(that.onelayerNum - 1);
         }
         // if (height > 220 && height <= 280 && isSet) {
         //   conBack(280);
@@ -315,18 +287,18 @@
         // if (height > 200 && isSet) {
         //   conBack(200);
         // }
-        let usMun = that.forlayerNum ? that.forlayerNum : that.threelayerNum;
-        if (height > usMun && isSet) {
-          conBack(usMun);
+        const usMun = that.forlayerNum ? that.forlayerNum : that.threelayerNum;
+        if (window.height1s > usMun && isSet) {
+          window.conBack(usMun);
         }
       });
 
       // 按钮事件
-      const butSetViews = (num) => {
-        viewer.camera.flyTo({
+      window.butSetViews = (num) => {
+        global.viewer.camera.flyTo({
           destination: global.DC.Namespace.Cesium.Cartesian3.fromRadians(
-            viewer.camera.positionCartographic.longitude,
-            viewer.camera.positionCartographic.latitude,
+            global.viewer.camera.positionCartographic.longitude,
+            global.viewer.camera.positionCartographic.latitude,
             num
           ),
           orientation: {
@@ -340,13 +312,14 @@
         });
         // overii();
       };
-      that.butbut = function () {
+      window.butbut = function () {
+        // return;
         // 放大
         document.querySelector(".dc-zoom-controller").children[0].onclick =
           function () {
             if (that.dimension == "2.5D") {
-              const height = Math.ceil(
-                viewer.camera.positionCartographic.height
+              window.height2s = Math.ceil(
+                global.viewer.camera.positionCartographic.height
               );
               // if (height > 180) {
               //   butSetViews(160);
@@ -362,30 +335,37 @@
               //   butSetViews(80);
               // }
               if (that.forlayerNum) {
-                if (height > that.forlayerNum - that.intervallayerNum) {
-                  butSetViews(that.threelayerNum);
+                if (
+                  window.height2s >
+                  that.forlayerNum - that.intervallayerNum
+                ) {
+                  window.butSetViews(that.threelayerNum);
                   return;
                 }
               }
 
-              if (height > that.threelayerNum - that.intervallayerNum) {
-                butSetViews(that.towlayerNum);
+              if (
+                window.height2s >
+                that.threelayerNum - that.intervallayerNum
+              ) {
+                window.butSetViews(that.towlayerNum);
                 return;
               }
 
-              if (height > that.towlayerNum - that.intervallayerNum) {
-                butSetViews(that.onelayerNum);
+              if (window.height2s > that.towlayerNum - that.intervallayerNum) {
+                window.butSetViews(that.onelayerNum);
               }
             }
           };
+
         // 缩小
         document.querySelector(".dc-zoom-controller").children[2].onclick =
           function () {
             if (that.dimension == "2.5D") {
-              const height = Math.ceil(
-                viewer.camera.positionCartographic.height
+              window.height3s = Math.ceil(
+                global.viewer.camera.positionCartographic.height
               );
-              console.log(height);
+              console.log(window.height3s);
 
               // if (height <= 100) {
               //   butSetViews(120);
@@ -399,23 +379,24 @@
               //   butSetViews(200);
               // }
 
-              if (height <= that.towlayerNum - that.intervallayerNum) {
-                butSetViews(that.towlayerNum);
+              if (window.height3s <= that.towlayerNum - that.intervallayerNum) {
+                window.butSetViews(that.towlayerNum);
               }
 
               if (
-                height > that.towlayerNum - that.intervallayerNum &&
-                height <= that.threelayerNum - that.intervallayerNum
+                window.height3s > that.towlayerNum - that.intervallayerNum &&
+                window.height3s <= that.threelayerNum - that.intervallayerNum
               ) {
-                butSetViews(that.threelayerNum);
+                window.butSetViews(that.threelayerNum);
               }
 
               if (that.forlayerNum) {
                 if (
-                  height > that.threelayerNum - that.intervallayerNum &&
-                  height < that.forlayerNum - that.intervallayerNum
+                  window.height3s >
+                    that.threelayerNum - that.intervallayerNum &&
+                  window.height3s < that.forlayerNum - that.intervallayerNum
                 ) {
-                  butSetViews(that.forlayerNum);
+                  window.butSetViews(that.forlayerNum);
                 }
               }
             }
@@ -430,11 +411,11 @@
           startHeight = 0;
           cutHeight = 0;
         };
-        var setViews = (num) => {
-          viewer.camera.flyTo({
+        window.setViews = (num) => {
+          global.viewer.camera.flyTo({
             destination: global.DC.Namespace.Cesium.Cartesian3.fromRadians(
-              viewer.camera.positionCartographic.longitude,
-              viewer.camera.positionCartographic.latitude,
+              global.viewer.camera.positionCartographic.longitude,
+              global.viewer.camera.positionCartographic.latitude,
               num
             ),
             orientation: {
@@ -449,32 +430,34 @@
           overii();
         };
         var isCameraTime = null;
-        viewer.on(global.DC.SceneEventType.CAMERA_CHANGED, (e) => {
+        global.viewer.on(global.DC.SceneEventType.CAMERA_CHANGED, (e) => {
           if (that.dimension == "2.5D") {
             // console.log(e);
-            const height = Math.ceil(viewer.camera.positionCartographic.height);
+            window.height4s = Math.ceil(
+              global.viewer.camera.positionCartographic.height
+            );
             if (ii == 1 && startHeight == 0) {
-              startHeight = height;
+              startHeight = window.height4s;
             }
             ii++;
-            cutHeight = height - startHeight;
+            cutHeight = window.height4s - startHeight;
             // console.log(cutHeight);
-            that.heights = height;
-            that.heights1 = cutHeight;
+            // that.heights = height;
+            // that.heights1 = cutHeight;
             // return;
             if (isCameraTime) {
               clearTimeout(isCameraTime);
               isCameraTime = setTimeout(() => {
-                takes();
+                window.takes();
                 isCameraTime = null;
               }, 200);
             } else {
               isCameraTime = setTimeout(() => {
-                takes();
+                window.takes();
                 isCameraTime = null;
               }, 200);
             }
-            const takes = () => {
+            window.takes = () => {
               if (ii != 1) {
                 if (cutHeight >= 0) {
                   if (cutHeight > 2) {
@@ -488,23 +471,23 @@
                     //   setViews(200);
                     // }
                     if (
-                      height >= that.onelayerNum + 2 &&
-                      height < that.towlayerNum
+                      window.height4s >= that.onelayerNum + 2 &&
+                      window.height4s < that.towlayerNum
                     ) {
-                      setViews(that.towlayerNum);
+                      window.setViews(that.towlayerNum);
                     }
                     if (
-                      height >= that.towlayerNum + 2 &&
-                      height < that.threelayerNum
+                      window.height4s >= that.towlayerNum + 2 &&
+                      window.height4s < that.threelayerNum
                     ) {
-                      setViews(that.threelayerNum);
+                      window.setViews(that.threelayerNum);
                     }
                     if (that.forlayerNum) {
                       if (
-                        height >= that.threelayerNum + 2 &&
-                        height < that.forlayerNum
+                        window.height4s >= that.threelayerNum + 2 &&
+                        window.height4s < that.forlayerNum
                       ) {
-                        setViews(that.forlayerNum);
+                        window.setViews(that.forlayerNum);
                       }
                     }
                   }
@@ -524,23 +507,23 @@
                   if (cutHeight < -2) {
                     if (that.forlayerNum) {
                       if (
-                        height <= that.forlayerNum &&
-                        height > that.threelayerNum - 2
+                        window.height4s <= that.forlayerNum &&
+                        window.height4s > that.threelayerNum - 2
                       ) {
-                        setViews(that.threelayerNum);
+                        window.setViews(that.threelayerNum);
                       }
                     }
                     if (
-                      height <= that.threelayerNum - 2 &&
-                      height > that.towlayerNum - 2
+                      window.height4s <= that.threelayerNum - 2 &&
+                      window.height4s > that.towlayerNum - 2
                     ) {
-                      setViews(that.towlayerNum);
+                      window.setViews(that.towlayerNum);
                     }
                     if (
-                      height <= that.towlayerNum - 2 &&
-                      height > that.onelayerNum
+                      window.height4s <= that.towlayerNum - 2 &&
+                      window.height4s > that.onelayerNum
                     ) {
-                      setViews(that.onelayerNum);
+                      window.setViews(that.onelayerNum);
                     }
                   }
                 }
@@ -551,7 +534,7 @@
       };
 
       // 地图点击事件
-      // viewer.on(DC.MouseEventType.CLICK, (e) => {
+      // global.viewer.on(DC.MouseEventType.CLICK, (e) => {
       //   // console.log(e);
       //   // 定制化窗体
       //   that.openPopupS(
@@ -568,7 +551,7 @@
 
       // 白模型↓
       // const layer = new DC.TilesetLayer("layer");
-      // viewer.addLayer(layer);
+      // global.viewer.addLayer(layer);
       // const tileset = new DC.Tileset(
       //   "http://resource.dvgis.cn/data/3dtiles/ljz/tileset.json"
       // );
@@ -586,53 +569,54 @@
       //   ],
       // };
 
-      // viewer.use(new DC.Measure());
+      // global.viewer.use(new DC.Measure());
 
       // tileset.setStyle(style);
       // layer.addOverlay(tileset);
-      // viewer.flyTo(tileset);
+      // global.viewer.flyTo(tileset);
       // 白模型↑
 
       // 精细模型↓
-      const tilesetLayer = new global.DC.TilesetLayer("tilesetLayer");
-      viewer.addLayer(tilesetLayer);
-      const tileset = new global.DC.Tileset("/mx/tileset.json", {
+      window.tilesetLayer = new global.DC.TilesetLayer("tilesetLayer");
+      global.viewer.addLayer(window.tilesetLayer);
+      window.tileset = new global.DC.Tileset("/mx/tileset.json", {
         luminanceAtZenith: 0.5,
       });
 
-      // tilesetLayer.addOverlay(tileset);
-      // tilesetLayer.show = false;
+      // window.tilesetLayer.addOverlay(window.tileset);
+      // window.tilesetLayer.show = false;
 
-      const silhouetteBlue =
+      window.silhouetteBlue =
         global.DC.Namespace.Cesium.PostProcessStageLibrary.createEdgeDetectionStage();
-      silhouetteBlue.uniforms.color =
+      window.silhouetteBlue.uniforms.color =
         global.DC.Namespace.Cesium.Color.fromBytes(9, 162, 40);
-      silhouetteBlue.uniforms.length = 0.01;
-      silhouetteBlue.selected = [];
+      window.silhouetteBlue.uniforms.length = 0.01;
+      window.silhouetteBlue.selected = [];
 
-      viewer.scene.postProcessStages.add(
+      global.viewer.scene.postProcessStages.add(
         global.DC.Namespace.Cesium.PostProcessStageLibrary.createSilhouetteStage(
-          [silhouetteBlue]
+          [window.silhouetteBlue]
         )
       );
 
-      var highlighted = {
+      window.highlighted = {
         feature: undefined,
         originalColor: new global.DC.Namespace.Cesium.Color(),
       };
 
-      var selected = {
+      window.selected = {
         feature: undefined,
         originalColor: new global.DC.Namespace.Cesium.Color(),
       };
+
       // 点击事件
-      tileset.on(global.DC.MouseEventType.CLICK, (e) => {
-        viewer.scene.globe.depthTestAgainstTerrain = false;
+      window.tileset.on(global.DC.MouseEventType.CLICK, (e) => {
+        global.viewer.scene.globe.depthTestAgainstTerrain = false;
         // console.log(e);
 
-        viewer.flyToPosition(
-          new global.DC.Position(115.87186406, 28.74449337, 1800, 0, 45, 0)
-        );
+        // global.viewer.flyToPosition(
+        //   new global.DC.Position(115.87186406, 28.74449337, 1800, 0, 45, 0)
+        // );
 
         // 定制化窗体
         that.openPopupS(
@@ -642,25 +626,26 @@
             name: e.overlay.attr.name,
             address: e.layer._id,
             introduce: e.overlay.attr.id,
-            data: e,
+            // data: e,
           }
         );
+        // return;
         // 高亮
-        silhouetteBlue.selected = [];
+        window.silhouetteBlue.selected = [];
 
-        if (global.DC.Namespace.Cesium.defined(highlighted.feature)) {
-          highlighted.feature.color = highlighted.originalColor;
-          highlighted.feature = undefined;
+        if (global.DC.Namespace.Cesium.defined(window.highlighted.feature)) {
+          window.highlighted.feature.color = window.highlighted.originalColor;
+          window.highlighted.feature = undefined;
         }
 
-        if (e.feature !== selected.feature) {
-          silhouetteBlue.selected = [e.feature];
+        if (e.feature !== window.selected.feature) {
+          window.silhouetteBlue.selected = [e.feature];
 
-          highlighted.feature = e.feature;
+          window.highlighted.feature = e.feature;
 
           global.DC.Namespace.Cesium.Color.clone(
             e.feature.color,
-            highlighted.originalColor
+            window.highlighted.originalColor
           );
           e.feature.color = global.DC.Namespace.Cesium.Color.fromBytes(
             155,
@@ -669,23 +654,24 @@
           );
         }
       });
-      // 移动事件
-      // tileset.on(global.DC.MouseEventType.MOUSE_MOVE, (e) => {
-      //   silhouetteBlue.selected = [];
 
-      //   if (global.DC.Namespace.Cesium.defined(highlighted.feature)) {
-      //     highlighted.feature.color = highlighted.originalColor;
-      //     highlighted.feature = undefined;
+      // 移动事件
+      // window.tileset.on(global.DC.MouseEventType.MOUSE_MOVE, (e) => {
+      //   window.silhouetteBlue.selected = [];
+
+      //   if (global.DC.Namespace.Cesium.defined(window.highlighted.feature)) {
+      //     window.highlighted.feature.color = window.highlighted.originalColor;
+      //     window.highlighted.feature = undefined;
       //   }
 
-      //   if (e.feature !== selected.feature) {
-      //     silhouetteBlue.selected = [e.feature];
+      //   if (e.feature !== window.selected.feature) {
+      //     window.silhouetteBlue.selected = [e.feature];
 
-      //     highlighted.feature = e.feature;
+      //     window.highlighted.feature = e.feature;
 
       //     global.DC.Namespace.Cesium.Color.clone(
       //       e.feature.color,
-      //       highlighted.originalColor
+      //       window.highlighted.originalColor
       //     );
       //     e.feature.color = global.DC.Namespace.Cesium.Color.fromBytes(
       //       155,
@@ -694,15 +680,15 @@
       //     );
       //   }
       // });
-      // tilesetLayer["changesilhouetteBlue"] = () => {
-      //   silhouetteBlue.selected = [];
+      // window.tilesetLayer["changesilhouetteBlue"] = () => {
+      //   window.silhouetteBlue.selected = [];
       // };
-      // tilesetLayer.show = false;
+      // window.tilesetLayer.show = false;
       // 精细模型↑
 
       // 2.5D贴图↓
-      const usetowpointfive = () => {
-        var provider =
+      window.usetowpointfive = () => {
+        window.provider =
           // new global.DC.Namespace.Cesium.WebMapTileServiceImageryProvider({
           //   url: "http://www.tdtfz.com/OneMapServer/rest/services/fzsw2019/MapServer/WMTS/tile/1.0.0/fzsw2019/{Style}/{TileMatrixSet}/{TileMatrix}/{TileRow}/{TileCol}",
           //   layer: "fzsw2019",
@@ -741,16 +727,17 @@
             url: "/wp/{z}/{x}/{y}.png",
             fileExtension: "png",
           });
-        return viewer.imageryLayers.addImageryProvider(provider);
+        return global.viewer.imageryLayers.addImageryProvider(window.provider);
       };
 
-      const newLayer = usetowpointfive();
+      window.newLayer = window.usetowpointfive();
       // 2.5d贴图事件
-      const layerGroup = new global.DC.LayerGroup("modelBox");
-      viewer.addLayerGroup(layerGroup);
 
-      const areaLayer = new global.DC.VectorLayer("areaLayer");
-      layerGroup.addLayer(areaLayer);
+      window.layerGroup = new global.DC.LayerGroup("modelBox");
+      global.viewer.addLayerGroup(window.layerGroup);
+
+      window.areaLayer = new global.DC.VectorLayer("areaLayer");
+      window.layerGroup.addLayer(window.areaLayer);
       axios
         .get(
           "http://arcgis.jxpskj.com:6080/arcgis/rest/services/lxxqwxq/MapServer/0/query?where=1%3D1&text=&objectIds=&time=&geometry=&geometryType=esriGeometryEnvelope&inSR=&spatialRel=esriSpatialRelIntersects&relationParam=&outFields=*&returnGeometry=true&maxAllowableOffset=&geometryPrecision=&outSR=&returnIdsOnly=false&returnCountOnly=false&orderByFields=&groupByFieldsForStatistics=&outStatistics=&returnZ=false&returnM=false&gdbVersion=&returnDistinctValues=false&returnTrueCurves=false&resultOffset=&resultRecordCount=&f=pjson"
@@ -763,10 +750,10 @@
 
             item.geometry.rings[0] = item.geometry.rings[0].join(";");
 
-            const polygon = new global.DC.Polygon(item.geometry.rings[0]);
-            polygon.attr = item.attributes;
+            window.polygon = new global.DC.Polygon(item.geometry.rings[0]);
+            window.polygon.attr = item.attributes;
 
-            polygon.setStyle({
+            window.polygon.setStyle({
               material: global.DC.Namespace.Cesium.Color.fromBytes(
                 255,
                 255,
@@ -775,23 +762,24 @@
               ),
             });
 
-            areaLayer.addOverlay(polygon);
+            window.areaLayer.addOverlay(window.polygon);
           });
 
-          areaLayer.show = true;
+          window.areaLayer.show = true;
         });
-      that.$store.commit("MSET_areaLayer", areaLayer);
+      that.$store.commit("MSET_areaLayer", window.areaLayer);
+
       // var select = {
       //   overlay: undefined,
       //   color: undefined,
       // };
-      viewer.on(global.DC.MouseEventType.CLICK, (e) => {
+      global.viewer.on(global.DC.MouseEventType.CLICK, (e) => {
         // console.log(e);
         if (e.overlay != undefined && e.layer.id == "areaLayer") {
-          if (that.areaLayerSelect.overlay != undefined) {
-            if (e.overlay != that.areaLayerSelect.overlay) {
-              that.areaLayerSelect.overlay.setStyle({
-                material: that.areaLayerSelect.color,
+          if (window.select.overlay != undefined) {
+            if (e.overlay != window.select.overlay) {
+              window.select.overlay.setStyle({
+                material: window.select.color,
                 outline: false,
               });
 
@@ -799,11 +787,11 @@
             }
           }
 
-          if (that.areaLayerSelect.overlay == undefined) {
-            that.areaLayerSelect.overlay = e.overlay;
+          if (window.select.overlay == undefined) {
+            window.select.overlay = e.overlay;
 
-            that.areaLayerSelect.color = e.overlay._style.material;
-            that.areaLayerSelect.overlay.setStyle({
+            window.select.color = e.overlay._style.material;
+            window.select.overlay.setStyle({
               outline: true,
               outlineColor: global.DC.Namespace.Cesium.Color.fromBytes(
                 3,
@@ -866,9 +854,9 @@
             that.openPopupS({}, eIntlat, useData);
           });
         } else {
-          if (that.areaLayerSelect.overlay != undefined) {
-            that.areaLayerSelect.overlay.setStyle({
-              material: that.areaLayerSelect.color,
+          if (window.select.overlay != undefined) {
+            window.select.overlay.setStyle({
+              material: window.select.color,
               outline: false,
             });
 
@@ -878,11 +866,11 @@
       });
 
       // 2.5D贴图↑
-      let startPoint;
+      // let startPoint;
       if (true) {
-        startPoint = () => {
-          const doit2 = (int, h) => {
-            viewer.camera.setView({
+        window.startPointFn = () => {
+          window.doit2 = (int, h) => {
+            global.viewer.camera.setView({
               // Cesium的坐标是以地心为原点,一向指向南美洲,一向指向亚洲,一向指向北极州
               // fromDegrees()方法,将经纬度和高程转换为世界坐标
               destination: global.DC.Namespace.Cesium.Cartesian3.fromDegrees(
@@ -903,7 +891,7 @@
             });
           };
           that.dimension == "2.5D"
-            ? doit2(
+            ? window.doit2(
                 [that.mapCenter[0], that.mapCenter[1], that.frislayertHeight],
                 // [114.04062292, 27.62666834, 220.0],
                 [
@@ -912,18 +900,19 @@
                   that.dimensionData.roll,
                 ]
               )
-            : doit2([114.0351, 27.6314, 300.0], [108, -26.46, 0.0]);
+            : window.doit2([114.0351, 27.6314, 300.0], [108, -26.46, 0.0]);
           // : doit([116.39038494750986, 39.902393222208644, 330.0]);
           // doit("建模");
         };
       } else {
         // startPoint(1);
       }
+
       // 传递默认位置
-      that.$store.commit("MSET_MORENWEIZHI", startPoint);
+      // that.$store.commit("MSET_MORENWEIZHI", startPoint);
       // let position = Cesium.Cartesian3.fromDegrees(108, 25, 0); //中心点位置
       // let cameraLimit = new xt3d.CameraDominate.CameraLimit(
-      //   viewer,
+      //   global.viewer,
       //   position,
       //   {
       //     radius: 2000,
@@ -931,12 +920,12 @@
       //   }
       // );
 
-      // const currentViewRect = viewer.camera.computeViewRectangle();//东南西北数据
+      // const currentViewRect = global.viewer.camera.computeViewRectangle();//东南西北数据
       // console.log(currentViewRect, 78);
 
       // 瀑布流↓
-      const wallLayer = new global.DC.VectorLayer("wallLayer");
-      // viewer.addLayer(wallLayer);
+      window.wallLayer = new global.DC.VectorLayer("wallLayer");
+      // global.viewer.addLayer(wallLayer);
       // var arr = that.wallArr;
       // arr.forEach((item) => {
       //   item = item.join(",");
@@ -952,17 +941,17 @@
       // });
       // wallLayer.addOverlay(wall);
 
-      // viewer.use(new global.DC.Measure());
+      // global.viewer.use(new global.DC.Measure());
       // 瀑布流↑
 
       // 传入store
-      that.$store.commit("MSET_MODEOLS", {
-        tilesetLayer: tilesetLayer,
-        // tileset: tileset,
-        newLayer: newLayer,
-        wallLayer: wallLayer,
-        usetowpointfive: usetowpointfive,
-      });
+      // that.$store.commit("MSET_MODEOLS", {
+      //   tilesetLayer: window.tilesetLayer,
+      //   // tileset: window.tileset,
+      //   newLayer: window.newLayer,
+      //   wallLayer: window.wallLayer,
+      //   usetowpointfive: window.usetowpointfive,
+      // });
 
       // 飞入起始点
       // that.$store.dispatch("mapFlyTo", {
@@ -975,10 +964,10 @@
       // 地图渲染完成执行srore中MSET_CREADE
       // that.$store.dispatch("MSET_CREADE");
 
-      viewer.compass.enable = false;
-      viewer.zoomController.enable = true;
-      viewer.locationBar.enable = false;
-      viewer.distanceLegend.enable = false;
+      global.viewer.compass.enable = false;
+      global.viewer.zoomController.enable = true;
+      global.viewer.locationBar.enable = false;
+      global.viewer.distanceLegend.enable = false;
       // 判断默认维度
       // 原本默认是2.5d  改为3d默认时做出改变
       if (that.dimension == "2.5D") {
@@ -997,8 +986,8 @@
         //     roll: 0,
         //     noOpen: true,
         //     fn: function () {
-        // viewer.flyTo(tileset);
-        // viewer.flyTo(provider);
+        // global.viewer.flyTo(window.tileset);
+        // global.viewer.flyTo(provider);
         // 飞入起始点
         // that.$store.dispatch("mapFlyTo", {
         //   lntLat: [115.87186406, 28.74449337, 1200],
@@ -1014,56 +1003,84 @@
         //   });
         // }, 2000);
       }
-      viewer.scene.screenSpaceCameraController._minimumZoomRate = 1000;
-      viewer.scene.screenSpaceCameraController._maximumZoomRate = 5906376272000;
-    }
+      global.viewer.scene.screenSpaceCameraController._minimumZoomRate = 1000;
+      global.viewer.scene.screenSpaceCameraController._maximumZoomRate = 5906376272000;
+      //渲染后操作
+      setTimeout(() => {
+        window.butbut();
+        // return;
 
-    global.DC.ready(initViewer);
-    setTimeout(() => {
-      that.butbut();
-
-      // 判断是否有url参数
-      // console.log(that.urlParameterData);
-      if (typeof that.urlParameterData != "string") {
+        // 判断是否有url参数
         // console.log(that.urlParameterData);
-        that.$store.commit("initurlParameterLayer"); // 初始化自定义标签图层
-        if (that.urlParameterData.methods == "goto") {
-          // url有定位的参数
-          // alert(that.urlParameterData.jd);
-          // alert(that.urlParameterData.wd);
-          // 创建标记
-          const dsa = {
-            list: [
-              {
-                name: that.urlParameterData.name || "无标题",
-                jd: that.urlParameterData.jd,
-                wd: that.urlParameterData.wd,
-              },
-            ],
-            clear: true,
-          };
-          that.$store.dispatch("addurlParameterLayerIcon", dsa);
-          // that.flytos(
-          //   //飞入标记
-          //   +that.urlParameterData.jd + 0.012,
-          //   +that.urlParameterData.wd
-          // );
+        if (typeof that.urlParameterData != "string") {
+          // console.log(that.urlParameterData);
+          that.$store.commit("initurlParameterLayer"); // 初始化自定义标签图层
+          if (that.urlParameterData.methods == "goto") {
+            // url有定位的参数
+            // alert(that.urlParameterData.jd);
+            // alert(that.urlParameterData.wd);
+            // 创建标记
+            const dsa = {
+              list: [
+                {
+                  name: that.urlParameterData.name || "无标题",
+                  jd: that.urlParameterData.jd,
+                  wd: that.urlParameterData.wd,
+                },
+              ],
+              clear: true,
+            };
+            that.$store.dispatch("addurlParameterLayerIcon", dsa);
+            // that.flytos(
+            //   //飞入标记
+            //   +that.urlParameterData.jd + 0.012,
+            //   +that.urlParameterData.wd
+            // );
 
-          const d = {
-            position: {},
-            lntLat: [+that.urlParameterData.jd, +that.urlParameterData.wd],
-            query: {
-              introduce: "暂无内容",
-              address: "",
-              ...(that.urlParameterData || {}),
+            const d = {
+              position: {},
               lntLat: [+that.urlParameterData.jd, +that.urlParameterData.wd],
-            },
-            useJWD: true, // 仅使用经纬度
-          };
-          that.$store.dispatch("setMobileWindows", d);
+              query: {
+                introduce: "暂无内容",
+                address: "",
+                ...(that.urlParameterData || {}),
+                lntLat: [+that.urlParameterData.jd, +that.urlParameterData.wd],
+              },
+              useJWD: true, // 仅使用经纬度
+            };
+            that.$store.dispatch("setMobileWindows", d);
+          } else if (that.urlParameterData.methods == "arc") {
+            const objInit = {
+              name: that.urlParameterData.mechanismname,
+              lntLat: [that.urlParameterData.jd, that.urlParameterData.wd],
+              alt: that.urlParameterData.gd,
+              heading: that.urlParameterData.heading,
+              pitch: that.urlParameterData.pitch,
+              roll: that.urlParameterData.roll,
+              bgImg: that.urlParameterData.tpurl,
+              QRImg: that.urlParameterData.codeurl,
+              websiteUrl: that.urlParameterData.websiteurl,
+              telePhone: that.urlParameterData.telephone,
+              address: that.urlParameterData.address,
+              introduce: that.urlParameterData.introduce,
+              video: that.urlParameterData.videourl,
+              panoramaurl: that.urlParameterData.panoramaurl, // 全景
+            };
+
+            const dataInitialization = {
+              position: {},
+              lntLat: objInit.lntLat,
+              query: { ...objInit },
+              useJWD: true, // 仅使用经纬度
+              // from: 'PopupOurOnce'
+            };
+
+            that.$store.dispatch("setMobileWindows", dataInitialization);
+          }
         }
-      }
-    }, 0);
+      }, 0);
+    };
+    global.DC.ready(window.initViewer);
   },
   methods: {
     openPopupS(position, lntLat, query) {
@@ -1075,6 +1092,7 @@
         query: { introduce: position, address: lntLat, ...(query || {}) },
         useJWD: true, // 仅使用经纬度
       };
+      console.log(d);
       that.$store.dispatch("setMobileWindows", d);
     },
     flytos(jd, wd) {

--
Gitblit v1.9.3