1
mayisheng
2022-08-15 81f54040c2cb65537c6c6e1db8358a39a57dea0d
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