From 81f54040c2cb65537c6c6e1db8358a39a57dea0d Mon Sep 17 00:00:00 2001
From: mayisheng <admin>
Date: Mon, 15 Aug 2022 16:14:01 +0800
Subject: [PATCH] 1

---
 src/store/modules/mobile.js |  172 +++++++++++++++++++++++++++++++++------------------------
 1 files changed, 100 insertions(+), 72 deletions(-)

diff --git a/src/store/modules/mobile.js b/src/store/modules/mobile.js
index 78702f2..cb8845d 100644
--- a/src/store/modules/mobile.js
+++ b/src/store/modules/mobile.js
@@ -43,7 +43,6 @@
 // window.newLayer = null;
 // window.usetowpointfive = null;
 
-window.startPointFn = null
 const mobile = {
     state: {
         ...urlParameter.state, // url参数
@@ -74,8 +73,6 @@
             checked: '/img/leftnav/way-checked.png',
             layer: 'pointLayer'
         },
-        // 默认起始点函数
-        // startPointFn: '',
         dimension: '2.5D', // 维度
         dimensionData: {
             // 维度镜头数据
@@ -83,7 +80,7 @@
             pitch: -90,
             roll: 0
         },
-        zoomRange: [80, 200], // 缩放程度
+        zoomRange: [100, 1000], // 缩放程度
         frislayertHeight: 160, // 默认弹窗高度
         perspectiveControl: '', // 视角控制:高度、角度  ()=>{}
         perspectiveControls: '', // 视角控制:高度、角度  ()=>{}
@@ -122,13 +119,17 @@
         // drawALineLayerMany: null, // 活动路线图层
         // drawAPointLayerMany: null, // 活动点图层
         isOpenDrawALineMany: null, // 是否开启活动
-        seeRight: true // 右侧控制栏显影
+        seeRight: true, // 右侧控制栏显影
+        pinchFlag: false
     },
     mutations: {
         ...urlParameter.mutations, // url参数
         // MSET_VIEWER (state, viewer) {
         //     global.viewer = viewer
         // },
+        SET_PINCHFLAG (state, pinchFlag) {
+            state.pinchFlag = pinchFlag
+        },
         MSET_BIGPOPUP (state, viewer) {
             state.mBigPopup = viewer
             $store.dispatch('closeMobileWindowsDom') // 关闭弹窗
@@ -172,10 +173,6 @@
             state.MobileWindowChangeDataFixed = !state.MobileWindowChangeDataFixed
             state.MobileWindowsHideFixed = viewer
         },
-        // 默认位置
-        // MSET_MORENWEIZHI(state, data) {
-        //     window.startPointFn = data
-        // },
         // // 开关飞入点图标
         // MSET_OPENPOINTEL(state, val) {
         //     if (val) {
@@ -194,6 +191,12 @@
         set_frislayertHeight (state, data) {
             state.frislayertHeight = data
         },
+        SET_DIMENSION (state, dimension) {
+            state.dimension = dimension
+        },
+        SET_DIMENSIONDATA (state, dimensionData) {
+            state.dimensionData = dimensionData
+        },
         // 切换2D和2.5D
         MSET_DIMENSION (state, data) {
             // 关闭弹窗
@@ -209,30 +212,25 @@
                 }
                 // 加载底图
                 if (!window.vecLayer) {
-                    window.vecLayer = global.viewer.imageryLayers.addImageryProvider(
-                        new global.DC.Namespace.Cesium.WebMapTileServiceImageryProvider({
-                            url: ' http://t1.tianditu.gov.cn/vec_w/wmts?tk=9ae78c51a0a28f06444d541148496e36',
-                            type: 'wmts',
-                            layer: 'vec',
-                            style: 'default',
-                            format: 'tiles',
-                            tileMatrixSetID: 'w',
-                            show: true,
-                            maximumLevel: 18
-                        })
-                    )
-                    window.cvaLayer = global.viewer.imageryLayers.addImageryProvider(
-                        new global.DC.Namespace.Cesium.WebMapTileServiceImageryProvider({
-                            url: ' http://t1.tianditu.gov.cn/cva_w/wmts?tk=9ae78c51a0a28f06444d541148496e36',
-                            type: 'wmts',
-                            layer: 'cva',
-                            style: 'default',
-                            format: 'tiles',
-                            tileMatrixSetID: 'w',
-                            show: true,
-                            maximumLevel: 18
-                        })
-                    )
+                    // window.vecLayer = global.viewer.imageryLayers.addImageryProvider(
+                    //     new global.DC.Namespace.Cesium.UrlTemplateImageryProvider({
+                    //         url: 'http://t{s}.tianditu.gov.cn/DataServer?T=vec_w&x={x}&y={y}&l={z}&tk=e9533f5acb2ac470b07f406a4d24b4f0',
+                    //         subdomains: ['0', '1', '2', '3', '4', '5', '6', '7'],
+                    //         format: 'image/jpeg',
+                    //         show: true,
+                    //         maximumLevel: 18
+                    //     })
+                    // )
+
+                    // window.cvaLayer = global.viewer.imageryLayers.addImageryProvider(
+                    //     new global.DC.Namespace.Cesium.UrlTemplateImageryProvider({
+                    //         url: 'http://t{s}.tianditu.gov.cn/DataServer?T=cva_w&x={x}&y={y}&l={z}&tk=e9533f5acb2ac470b07f406a4d24b4f0',
+                    //         subdomains: ['0', '1', '2', '3', '4', '5', '6', '7'],
+                    //         format: 'image/jpeg',
+                    //         show: true,
+                    //         maximumLevel: 18
+                    //     })
+                    // )
                 }
                 // console.log(1321)
                 window.wallLayer.show = false // 关闭瀑布   以及2.5d图形贴片
@@ -242,7 +240,6 @@
                 // window.tilesetLayer.changesilhouetteBlue(); //清空silhouetteBlue.selected = [];
                 // console.log(window.tileset)
                 window.tilesetLayer.show = true // 显示3d图形
-                window.startPointFn() // 移动默认视角
                 // global.viewer.flyTo(window.tileset);
                 window.areaLayer.show = false // 绿布
                 // 3D视角不限制
@@ -275,30 +272,29 @@
                 // global.viewer.imageryLayers.remove(window.cvaLayer);
                 // window.cvaLayer = null;
                 // 加载底图
-                window.vecLayer = global.viewer.imageryLayers.addImageryProvider(
-                    new global.DC.Namespace.Cesium.UrlTemplateImageryProvider({
-                        url: 'http://t{s}.tianditu.gov.cn/DataServer?T=vec_w&x={x}&y={y}&l={z}&tk=9ae78c51a0a28f06444d541148496e36',
-                        subdomains: ['0', '1', '2', '3', '4', '5', '6', '7'],
-                        format: 'image/jpeg',
-                        show: true,
-                        maximumLevel: 18
-                    })
-                )
+                // window.vecLayer = global.viewer.imageryLayers.addImageryProvider(
+                //     new global.DC.Namespace.Cesium.UrlTemplateImageryProvider({
+                //         url: 'http://t{s}.tianditu.gov.cn/DataServer?T=vec_w&x={x}&y={y}&l={z}&tk=e9533f5acb2ac470b07f406a4d24b4f0',
+                //         subdomains: ['0', '1', '2', '3', '4', '5', '6', '7'],
+                //         format: 'image/jpeg',
+                //         show: true,
+                //         maximumLevel: 18
+                //     })
+                // )
 
-                window.cvaLayer = global.viewer.imageryLayers.addImageryProvider(
-                    new global.DC.Namespace.Cesium.UrlTemplateImageryProvider({
-                        url: 'http://t{s}.tianditu.gov.cn/DataServer?T=cva_w&x={x}&y={y}&l={z}&tk=9ae78c51a0a28f06444d541148496e36',
-                        subdomains: ['0', '1', '2', '3', '4', '5', '6', '7'],
-                        format: 'image/jpeg',
-                        show: true,
-                        maximumLevel: 18
-                    })
-                )
+                // window.cvaLayer = global.viewer.imageryLayers.addImageryProvider(
+                //     new global.DC.Namespace.Cesium.UrlTemplateImageryProvider({
+                //         url: 'http://t{s}.tianditu.gov.cn/DataServer?T=cva_w&x={x}&y={y}&l={z}&tk=e9533f5acb2ac470b07f406a4d24b4f0',
+                //         subdomains: ['0', '1', '2', '3', '4', '5', '6', '7'],
+                //         format: 'image/jpeg',
+                //         show: true,
+                //         maximumLevel: 18
+                //     })
+                // )
 
                 window.tilesetLayer.show = false // 隐藏3d图形
                 window.newLayer = window.usetowpointfive() // 添加2.5d图形贴片
                 window.wallLayer.show = false // 打开瀑布
-                window.startPointFn() // 移动默认视角
                 window.areaLayer.show = true // 绿布
                 if (state.zoomRange[3]) {
                     global.viewer.imageryLayers.addImageryProvider(new global.DC.Namespace.Cesium.UrlTemplateImageryProvider({
@@ -1029,6 +1025,9 @@
                 })
                 // 订阅事件
                 window.billboarddaohang.on(global.DC.MouseEventType.CLICK, (e) => {
+                    if (state.pinchFlag == true) {
+                        return
+                    }
                     // console.log(e);
                     // return;
                     // 定制化窗体
@@ -1096,7 +1095,7 @@
             })
             window.drawALineLayerMany = new global.DC.VectorLayer('manyLinePointLayer')
             global.viewer.addLayer(window.drawALineLayerMany)
-            window.drawAPointLayerMany = new global.DC.HtmlLayer('manyPointPointLayer')
+            window.drawAPointLayerMany = new global.DC.VectorLayer('manyPointPointLayer')
             global.viewer.addLayer(window.drawAPointLayerMany)
             // 多条线
             for (const k in Strs) {
@@ -1167,24 +1166,28 @@
                 //   // outlineWidth: 1, //边框大小,
                 //   pixelOffset: { x: 0, y: -47 }, //偏移像素
                 // });
-                window.drawAPointLayerManyLabels = new global.DC.DivIcon(
-                    // new this.DC.Position(Number(item[0]), Number(item[1]), 0),
+                const billboard = new global.DC.Billboard(
+                    window.drawAPointLayerManyposition, '/img/icon/activity.png')
+
+                const label = new global.DC.Label(
                     window.drawAPointLayerManyposition,
-                    `
-              <div class="point-entitys-box">
-                  <div class="point-logo">
-                      <img src="/img/icon/activity.png">
-                  </div>
-                  <div class="point-title">
-                      ${point[k].name}
-                  </div>
-              </div>
-          `
+                    point[k].name
                 )
-                // 订阅事件
-                window.drawAPointLayerManyLabels.on(global.DC.MouseEventType.CLICK, (e) => {
-                    // console.log(e);
-                    // return;
+
+                label.setStyle({
+                    fillColor: global.DC.Color.RED,
+                    style: global.DC.Namespace.Cesium.LabelStyle.FILL_AND_OUTLINE,
+                    outlineColor: global.DC.Color.WHITE, // 边框颜色
+                    outlineWidth: 8, // 边框大小,
+                    font: '12px sans-serif',
+                    pixelOffset: { x: 0, y: -24 }
+                })
+
+                billboard.on(global.DC.MouseEventType.CLICK, (e) => {
+                    if (state.pinchFlag == true) {
+                        return
+                    }
+
                     if (value[3]) {
                         value[3]()
                     }
@@ -1203,8 +1206,33 @@
                     }
                     dispatch('setMobileWindows', windowData)
                 })
-                window.drawAPointLayerMany.addOverlay(window.drawAPointLayerManyLabels)
-                // console.log(point[k]);
+
+                label.on(global.DC.MouseEventType.CLICK, (e) => {
+                    if (state.pinchFlag == true) {
+                        return
+                    }
+
+                    if (value[3]) {
+                        value[3]()
+                    }
+                    // 定制化窗体
+                    const position = e.position
+                    const lntLat = [e.overlay._position._lng, e.overlay._position._lat]
+                    const windowData = {
+                        position,
+                        lntLat,
+                        query: {
+                            ...(value[2] || {}),
+                            position,
+                            lntLat
+                        },
+                        useJWD: true // 仅使用经纬度
+                    }
+                    dispatch('setMobileWindows', windowData)
+                })
+
+                window.urlParameterLayer.addOverlay(billboard) // 加入图标
+                window.urlParameterLayer.addOverlay(label)
             }
             // state.drawALineLayerMany = drawALineLayerMany
             // state.drawAPointLayerMany = drawAPointLayerMany

--
Gitblit v1.9.3