From 64b64d0bba16f20b123ffb17e08cbf884532785f Mon Sep 17 00:00:00 2001
From: shuishen <1109946754@qq.com>
Date: Fri, 18 Nov 2022 15:45:47 +0800
Subject: [PATCH] 1

---
 src/components/map/components/dimension.vue  |   23 -
 src/components/mobilemap/index.vue           |   27 +
 src/pcviews/specialmap/welcome.vue           |   56 +--
 src/components/mobileActivity旧的没底图/move.js   |  166 +++++++++++
 src/components/map/index.vue                 |   38 +
 src/components/mobileActivity旧的没底图/index.vue |  504 ++++++++++++++++++++++++++++++++++++
 6 files changed, 736 insertions(+), 78 deletions(-)

diff --git a/src/components/map/components/dimension.vue b/src/components/map/components/dimension.vue
index 534c29b..9902c2b 100644
--- a/src/components/map/components/dimension.vue
+++ b/src/components/map/components/dimension.vue
@@ -1,12 +1,7 @@
 <template>
     <div class="dimension-cut">
         <!-- <el-button type="primary">{{zoomValue}}</el-button> -->
-        <el-radio-group
-            v-model="dimensionValue"
-            size="medium"
-            @change="dimensionChange"
-            ref="StateChange"
-        >
+        <el-radio-group v-model="dimensionValue" size="medium" @change="dimensionChange" ref="StateChange">
             <!-- <el-radio-button label="三 维"></el-radio-button>
             <el-radio-button label="真三维"></el-radio-button>-->
         </el-radio-group>
@@ -242,22 +237,6 @@
 
                     that.addBaseLayer()
 
-                    global.viewer.camera.setView({
-                        // Cesium的坐标是以地心为原点,一向指向南美洲,一向指向亚洲,一向指向北极州
-                        // fromDegrees()方法,将经纬度和高程转换为世界坐标
-                        destination: global.DC.Namespace.Cesium.Cartesian3.fromDegrees(
-                            that.mapCenter[0],
-                            that.mapCenter[1],
-                            that.mapCenter[2]
-                        ),
-                        orientation: {
-                            // 指向
-                            heading: global.DC.Namespace.Cesium.Math.toRadians(0, 0),
-                            // 视角
-                            pitch: global.DC.Namespace.Cesium.Math.toRadians(-90),
-                            roll: 0
-                        }
-                    })
                     // 最小
                     global.viewer.scene.screenSpaceCameraController.minimumZoomDistance = mixVH
                     global.eagleViewer.scene.screenSpaceCameraController.minimumZoomDistance = mixVH + 1000
diff --git a/src/components/map/index.vue b/src/components/map/index.vue
index 022bbd6..42b3d3d 100644
--- a/src/components/map/index.vue
+++ b/src/components/map/index.vue
@@ -1,12 +1,8 @@
 /* eslint-disable camelcase */
 <template>
     <div id="viewer-container" style="height: 100%; width: 100%" @click="mapClick($event)">
-        <dimension
-            :wheelFlag="wheelFlag"
-            :startWheel="startWheel"
-            :startSmallWheel="startSmallWheel"
-            @change-wheel="changeWheel"
-        />
+        <dimension :wheelFlag="wheelFlag" :startWheel="startWheel" :startSmallWheel="startSmallWheel"
+            @change-wheel="changeWheel" />
 
         <calender v-if="calenderShow" />
 
@@ -22,12 +18,8 @@
         <org-nav-bar v-if="orgNavBarFlag"></org-nav-bar>
         <arc-nav-bar v-if="arcNavBarFlag"></arc-nav-bar>
 
-        <div
-            id="eagleEyeMap"
-            @mouseover="samllMapFlag = true"
-            @mouseleave="samllMapFlag = false"
-            class="eagle-eye-map"
-        ></div>
+        <div id="eagleEyeMap" @mouseover="samllMapFlag = true" @mouseleave="samllMapFlag = false" class="eagle-eye-map">
+        </div>
     </div>
 </template>
 <script>
@@ -50,7 +42,8 @@
             samllMapFlag: false,
             wheelFlag: true,
             startWheel: false,
-            startSmallWheel: false
+            startSmallWheel: false,
+            mapCenter: [115.79647126999, 28.6421878133715, 1000]
         }
     },
     watch: {
@@ -215,6 +208,25 @@
                 }
             })
 
+            global.DC.Namespace.Cesium.Camera.DEFAULT_VIEW_RECTANGLE = global.DC.Namespace.Cesium.Rectangle.fromDegrees(115.788116, 28.638531, 151.805469, 28.646045)
+
+            global.viewer.camera.setView({
+                // Cesium的坐标是以地心为原点,一向指向南美洲,一向指向亚洲,一向指向北极州
+                // fromDegrees()方法,将经纬度和高程转换为世界坐标
+                destination: global.DC.Namespace.Cesium.Cartesian3.fromDegrees(
+                    that.mapCenter[0],
+                    that.mapCenter[1],
+                    that.mapCenter[2]
+                ),
+                orientation: {
+                    // 指向
+                    heading: global.DC.Namespace.Cesium.Math.toRadians(0, 0),
+                    // 视角
+                    pitch: global.DC.Namespace.Cesium.Math.toRadians(-90),
+                    roll: 0
+                }
+            })
+
             const primitiveArr = global.viewer.scene.primitives._primitives
 
             global.viewer.scene.primitives.remove(primitiveArr[0])
diff --git "a/src/components/mobileActivity\346\227\247\347\232\204\346\262\241\345\272\225\345\233\276/index.vue" "b/src/components/mobileActivity\346\227\247\347\232\204\346\262\241\345\272\225\345\233\276/index.vue"
new file mode 100644
index 0000000..556856b
--- /dev/null
+++ "b/src/components/mobileActivity\346\227\247\347\232\204\346\262\241\345\272\225\345\233\276/index.vue"
@@ -0,0 +1,504 @@
+<template>
+    <!-- 活动弹窗没有底图备份
+mobileActivity
+    -->
+    <div
+        id="mobileActivity"
+        :style="{ height: height + 'px' }"
+        :class="[openValue ? 'isOpens' : 'notOpens']"
+        v-if="showActivity"
+    >
+        <div class="mobileActivity_heard">
+            <div class="mobileActivity_title">活动标题:{{ hdTitle }}</div>
+            <div class="mobileActivity_close" @click="closeActivity">
+                <i class="el-icon-close"></i>
+            </div>
+        </div>
+        <div class="mobileActivity_in">
+            <!-- <el-button type="primary" @click="init">open</el-button>
+            <el-button type="success" @click="closeInit">close</el-button>-->
+            <div class="mobileActivity_insmall">
+                <!-- <img :src="imgs" alt="" class="mobileActivity_insmallimg" /> -->
+                <el-image
+                    class="mobileActivity_insmallimg"
+                    :src="useData.url"
+                    :preview-src-list="useData.srcList"
+                ></el-image>
+                <div class="mobileActivity_insmallxiangqing">
+                    <div
+                        class="mobileActivity_insmallxiangqingIn"
+                        v-for="(item, index) in useData.smallData"
+                        :key="index"
+                    >
+                        <span class="mobileActivity_insmallxiangqingIn_s">{{ item.lable }}</span>
+                        : {{ item.value }}
+                    </div>
+                </div>
+            </div>
+            <div class="mobileActivity_detailed">
+                <div
+                    class="mobileActivity_detailedIn"
+                    v-for="(item, index) in useData.detailedData"
+                    :key="index"
+                >
+                    <span class="mobileActivity_insmallxiangqingIn_s">{{ item.lable }}</span>
+                    : {{ item.value }}
+                </div>
+            </div>
+        </div>
+        <div class="mobileActivity_coutrol" :style="{ bottom: bottom + 'px' }">
+            <ul>
+                <li
+                    v-for="(item, index) in leftNavData"
+                    :key="index"
+                    @click="mobileActivityCoutrolClick(item)"
+                    v-show="!item.notShow"
+                >
+                    <img :src="item.img" alt />
+                    <span>{{ item.label }}</span>
+                </li>
+            </ul>
+        </div>
+    </div>
+</template>
+
+<script>
+import { mapGetters } from 'vuex'
+import moveWindow from './move'
+export default {
+    name: 'mobileActivity没底图',
+    computed: {
+        ...mapGetters([
+            'showActivity',
+            'showActivityData'
+            // 'drawALineLayerMany',
+            // 'drawAPointLayerMany'
+        ])
+    },
+    data () {
+        const heig = 135
+        const bottom = 150
+        return {
+            useHeight: heig,
+            height: heig,
+            useBottom: bottom,
+            bottom: bottom,
+            openValue: false,
+            domMove: null,
+            start: 0,
+            end: 0,
+            hdTitle: '',
+            // url: "",
+            // srcList: [],
+            useData: {},
+            leftNavData: [
+                {
+                    flag: true,
+                    label: '线路',
+                    // img: "/zhjg/img/leftnav/tag.png",
+                    img: '/zhjg/img/leftnav/tag-checked.png',
+                    normal: '/zhjg/img/leftnav/tag.png',
+                    checked: '/zhjg/img/leftnav/tag-checked.png',
+                    imgSrc: 'https://map.hit.edu.cn/images/tarrow_xq.png',
+                    // imgSrc: "/zhjg/img/mobile/pink.png",
+                    layer: 'drawALineLayerMany'
+                },
+                {
+                    flag: true,
+                    label: '标点',
+                    img: '/zhjg/img/leftnav/way-checked.png',
+                    normal: '/zhjg/img/leftnav/way.png',
+                    checked: '/zhjg/img/leftnav/way-checked.png',
+                    imgSrc: '/zhjg/img/mobile/green.png',
+                    layer: 'drawAPointLayerMany'
+                }
+                // {
+                //   flag: false,
+                //   label: "实景",
+                //   img: "/zhjg/img/leftnav/scene.png",
+                //   normal: "/zhjg/img/leftnav/scene.png",
+                //   checked: "/zhjg/img/leftnav/scene-checked.png",
+                //   layer: "sceneLayer",
+                //   imgSrc: "/zhjg/img/leftnav/map-panorama.png",
+                //   // imgSrc: "/zhjg/img/mobile/blue.png",
+                // },
+            ]
+        }
+    },
+    watch: {
+        //   openValue() {
+        //     if (this.openValue) {
+        //       let windowHeight = document.body.clientHeight;
+        //       this.height = windowHeight / 2;
+        //     } else {
+        //       this.height = this.useHeight;
+        //     }
+        //   },
+        showActivity () {
+            if (this.showActivity) {
+                this.inToInit() // 初始化
+                this.hdTitle = this.showActivityData.name
+
+                // new窗口对象
+                const that = this
+                const windowHeight = document.body.clientHeight
+                this.doData(this.showActivityData) // 使用数据
+                // 获取最大高度避免数据过少,空格多
+                // let heard = document.querySelector(".mobileActivity_heard");
+                // let ins = document.querySelector(".mobileActivity_in");
+                // console.log(heard, ins, 77777);
+                this.checkDom('querySelector', '.mobileActivity_heard', (head) => {
+                    this.checkDom('querySelector', '.mobileActivity_in', (ins) => {
+                        console.log((head.offsetHeight + ins.offsetHeight) / 4)
+                        doit(head.offsetHeight + ins.offsetHeight)
+                    })
+                })
+                // return;
+                const doit = (maxheights) => {
+                    this.domMove = new moveWindow({
+                        id: 'mobileActivity',
+                        minHeight: that.useHeight,
+                        maxHeight: maxheights || windowHeight / 2,
+                        critical: maxheights / 4,
+                        fn: function (res) {
+                            that.height = +res.height
+                            that.bottom = +res.height + 15
+                            // console.log(+res.height, "=======");
+                            if (res.state != 'on') {
+                                that.openValue = res.state
+                            }
+                        }
+                    })
+                    this.domMove.init()
+                    // console.log(this.domMove);
+                    // 转移···添加点和线
+                    const addressOur = this.changeData(
+                        this.useData.query,
+                        'addressname',
+                        'address'
+                    )
+                    const lxOur = this.changeData(this.useData.query, 'lxname', 'lx')
+                    // console.log(addressOur, lxOur);
+                    that.$store.dispatch('MSET_DRAWALINELAYERMANY', [
+                        lxOur,
+                        addressOur,
+                        this.useData.query,
+                        function () {
+                            that.domMove.opens(false, true)
+                        }
+                    ])
+                }
+            }
+        }
+    },
+    mounted () { },
+    methods: {
+        inToInit () {
+            // 初始化
+            this.openValue = false
+            this.height = this.useHeight
+            this.bottom = this.useBottom
+            for (const k in this.leftNavData) {
+                this.leftNavData[k].flag = true
+                this.leftNavData[k].img = this.leftNavData[k].checked
+            }
+        },
+        // 处理主数据
+        doData (val) {
+            const srcList = val.opendata.tpurl.split(',')
+            this.useData = {
+                data: val,
+                url: srcList[0],
+                srcList: srcList,
+                smallData: [
+                    {
+                        lable: '主办方',
+                        value: val.opendata.sponsor
+                    },
+                    {
+                        lable: '承办方',
+                        value: val.opendata.undertake
+                    }
+                ],
+                detailedData: [
+                    {
+                        lable: '活动时间',
+                        value: val.opendata.time
+                    },
+                    {
+                        lable: '活动详情',
+                        value: val.opendata.context
+                    }
+                ],
+                query: {
+                    name: val.opendata.hdname,
+                    bgImg: val.opendata.tpurl,
+                    from: '活动',
+                    websiteUrl: val.opendata.websiteurl,
+                    telePhone: val.opendata.telephone,
+                    introduce: val.opendata.context,
+                    video: val.opendata.videourl,
+                    // buts: ["定位"],
+                    // 活动添加的字段
+                    addressname: val.opendata.addressname.split(';'),
+                    address: val.opendata.address.split(';'),
+                    lxname: val.opendata.lxname.split(';'),
+                    lx: val.opendata.lx.split(';'),
+                    lntLat: [
+                        val.opendata.address.split(';')[0].split(',')[0],
+                        val.opendata.address.split(';')[0].split(',')[1]
+                    ],
+                    panoramaurl: val.opendata.panoramaurl // 全景
+                }
+            }
+        },
+        // 启动监听事件
+        init () {
+            this.domMove.init()
+        },
+        // 关闭监听事件
+        closeInit () {
+            this.domMove.closeInit()
+        },
+        // 控制线路和点的显影
+        mobileActivityCoutrolClick (item) {
+            item.flag = !item.flag
+            if (item.flag == true) {
+                item.img = item.checked
+            } else {
+                item.img = item.normal
+            }
+            this.$store.commit('showLineOrPoint', {
+                layer: item.layer,
+                flag: item.flag
+            })
+        },
+        changeData (data, name, value) {
+            const arr = []
+            for (const k in data[name]) {
+                arr.push({
+                    name: data[name][k],
+                    value:
+                        name == 'lxname'
+                            ? data[value][k]
+                                .split('(')[1]
+                                .split(')')[0]
+                                .split(',')
+                                .join(';')
+                                .split(' ')
+                                .join(',')
+                            : [+data[value][k].split(',')[0], +data[value][k].split(',')[1]]
+                })
+            }
+            return arr
+        },
+        closeActivity () {
+            this.$store.commit('set_showActivity', { state: false })
+            if (this.domMove) {
+                this.closeInit()
+            }
+            // 关闭路线和点的图层
+            this.$store.commit('removePolylineMany')
+            // 关闭随地图弹窗
+            this.$store.dispatch('closeMobileWindowsDom')
+            // 显示右侧栏
+            this.$store.commit('SET_SeeAndNotSee', true)
+        },
+        checkDom (methods, name, fn) {
+            //  声明定时器
+            var timer = null
+            //  检查dom是否执行完成
+            function checkDom () {
+                // let dom = that.$refs[name];
+                const dom = document[methods](name)
+                if (dom) {
+                    //  执行dom加载完成后的操作
+                    //  清除定时器
+                    if (!timer) {
+                        clearTimeout(timer)
+                    }
+                    if (fn) {
+                        // 回调函数
+                        fn(dom)
+                    } else {
+                        return dom
+                    }
+                } else {
+                    //  自我调用
+                    timer = setTimeout(checkDom, 100)
+                }
+            }
+            //  首次执行
+            checkDom()
+        }
+    }
+}
+</script>
+
+<style lang="scss">
+#mobileActivity {
+    position: fixed;
+    bottom: 0px;
+    left: 0px;
+    width: 100%;
+    // height: 50px;
+    background-color: #fff;
+    z-index: 999;
+    transition: height 0.1s;
+    border-radius: 15px 15px 0 0;
+    .mobileActivity_heard {
+        height: 35px;
+        border-radius: 15px 15px 0 0;
+        width: 100%;
+        background-color: #409eff;
+        color: #fff;
+        border-bottom: 1px solid rgba($color: #acacac, $alpha: 0.5);
+        box-shadow: 0 0px 10px -3px rgba($color: #acacac, $alpha: 0.5);
+        .mobileActivity_title {
+            width: 100%;
+            height: 100%;
+            line-height: 35px;
+            text-indent: 1rem;
+        }
+        .mobileActivity_close {
+            position: absolute;
+            right: 5px;
+            top: 5px;
+            font-size: 25px;
+        }
+    }
+    .mobileActivity_in {
+        width: 100%;
+        height: auto;
+        overflow: hidden;
+        padding-bottom: 5px;
+        .mobileActivity_insmall {
+            background-color: #fff;
+            width: 100%;
+            display: flex;
+            align-items: center;
+            justify-content: space-around;
+            .mobileActivity_insmallimg {
+                width: 90px;
+                height: 90px;
+            }
+            .mobileActivity_insmallxiangqing {
+                width: calc(100% - 110px);
+                height: 94px;
+                display: flex;
+                align-items: center;
+                justify-content: space-around;
+                flex-direction: column;
+                .mobileActivity_insmallxiangqingIn {
+                    width: 100%;
+                }
+            }
+        }
+        .mobileActivity_detailed {
+            background-color: rgba(202, 202, 202, 0.2);
+            padding: 3px 0 0 0;
+            width: 100%;
+            height: 100%;
+            box-sizing: border-box;
+            .mobileActivity_detailedIn {
+                background-color: #fff;
+                box-sizing: border-box;
+                width: 100%;
+                padding: 5px;
+                margin: 0 0 3px 0;
+            }
+        }
+        .mobileActivity_insmallxiangqingIn_s {
+            font-weight: 600;
+        }
+    }
+}
+
+.notOpens {
+    &::after {
+        content: '';
+        display: block;
+        width: 20px;
+        height: 4px;
+        background-color: rgba(202, 202, 202, 1);
+        position: absolute;
+        top: -9px;
+        left: calc(50% - 10px);
+        border-radius: 5px;
+    }
+}
+
+.isOpens {
+    &::after {
+        content: '';
+        display: block;
+        width: 13px;
+        height: 4px;
+        background-color: rgba(202, 202, 202, 1);
+        position: absolute;
+        top: -9px;
+        left: calc(50% - 12px);
+        border-radius: 5px;
+        transform: rotate(30deg);
+    }
+    &::before {
+        content: '';
+        display: block;
+        width: 13px;
+        height: 4px;
+        background-color: rgba(202, 202, 202, 1);
+        position: absolute;
+        top: -9px;
+        left: calc(50% - 4px);
+        border-radius: 5px;
+        transform: rotate(-30deg);
+    }
+}
+.mobileActivity_coutrol {
+    position: fixed;
+    bottom: 150px;
+    left: 0px;
+    z-index: 200;
+    background-color: #fff;
+    border-radius: 0 17px 17px 0;
+    transition: all 0.18s;
+    ul {
+        position: relative;
+        top: 3px;
+    }
+    li {
+        margin-bottom: 6px;
+        font-weight: 400;
+        display: block;
+        width: 80px;
+        height: 30px;
+        line-height: 30px;
+        background-color: #fff;
+        border-radius: 15px;
+        text-align: center;
+        font-size: 0;
+        cursor: pointer;
+
+        img {
+            position: relative;
+            transition: all 0.5s;
+            width: 24px;
+            height: 24px;
+            vertical-align: middle;
+            margin-right: 10px;
+            image-rendering: -moz-crisp-edges;
+            image-rendering: -o-crisp-edges;
+            image-rendering: -webkit-optimize-contrast;
+            image-rendering: crisp-edges;
+            -ms-interpolation-mode: nearest-neighbor;
+        }
+
+        span {
+            display: inline-block;
+            vertical-align: middle;
+            font-size: 14px;
+            color: #2f2f2f;
+        }
+    }
+}
+</style>
diff --git "a/src/components/mobileActivity\346\227\247\347\232\204\346\262\241\345\272\225\345\233\276/move.js" "b/src/components/mobileActivity\346\227\247\347\232\204\346\262\241\345\272\225\345\233\276/move.js"
new file mode 100644
index 0000000..1f5f2b6
--- /dev/null
+++ "b/src/components/mobileActivity\346\227\247\347\232\204\346\262\241\345\272\225\345\233\276/move.js"
@@ -0,0 +1,166 @@
+class moveWindow {
+  constructor(data) {
+    this.id = data.id;
+    this.start = 0;
+    this.end = 0;
+    this.domHeight = 0;
+    this.domMove = null;
+    this.openValue = false;
+    this.useHeight = data.minHeight;
+    this.maxHeight = data.maxHeight;
+    this.height = data.minHeight;
+    this.critical = data.critical;
+    let that = this;
+    this.fn =
+      data.fn ||
+      function (res) {
+        console.log("未设置回调函数");
+        console.log(res);
+      };
+
+    this.ListenerTouchmove = function (window) {
+      let moseHeight = window.changedTouches[0].clientY;
+      //   let windowHeight = document.body.clientHeight; //屏幕宽度
+      let endOn = moseHeight;
+      let cha = +that.domHeight + that.start - +endOn;
+      if (cha >= that.maxHeight) {
+        cha = that.maxHeight;
+      } else if (cha <= that.useHeight) {
+        cha = that.useHeight;
+      }
+      let d = {
+        state: "on",
+        height: cha,
+      };
+      that.fn(d);
+    };
+    this.ListenerTouchstart = function (window) {
+      let moseHeight = window.changedTouches[0].clientY;
+      that.start = moseHeight;
+      that.domHeight = document
+        .getElementById(that.id)
+        .style.cssText.split("px")[0]
+        .split("height:")[1];
+    };
+    this.ListenerTouchend = function (window) {
+      let moseHeight = window.changedTouches[0].clientY;
+      that.end = moseHeight;
+      let cha, states;
+      if (that.end >= that.start) {
+        states = false; //方向
+        cha = that.end - that.start;
+      } else {
+        states = true; //方向
+        cha = that.start - that.end;
+      }
+      if (cha >= that.critical) {
+        //高
+        that.opens(states, true); //程度
+      } else if (cha < that.critical) {
+        //低
+        that.opens(states, false); //程度
+      }
+    };
+    return this;
+  }
+  //启动监听事件
+  init() {
+    // this.domMove = document.getElementById(this.id);
+    let that = this;
+    this.checkDom(that.id, (dom) => {
+      //检测是否有dom
+      that.domMove = dom;
+      that.domMove.addEventListener("touchmove", that.ListenerTouchmove);
+      // 结束位置靠滑动距离判断
+      that.domMove.addEventListener("touchstart", that.ListenerTouchstart);
+      that.domMove.addEventListener("touchend", that.ListenerTouchend);
+    });
+  }
+  //关闭监听事件
+  closeInit() {
+    this.domMove = document.getElementById(this.id);
+    this.domMove.removeEventListener("touchmove", this.ListenerTouchmove);
+    // 结束位置靠滑动距离判断
+    this.domMove.removeEventListener("touchstart", this.ListenerTouchstart);
+    this.domMove.removeEventListener("touchend", this.ListenerTouchend);
+  }
+  //输出事件
+  opens(val, chengdu) {
+    if (chengdu) {
+      this.openValue = val;
+      if (val) {
+        this.height = this.maxHeight;
+      } else {
+        this.height = this.useHeight;
+      }
+    } else {
+      this.height = this.domHeight;
+    }
+    let d = {
+      state: this.openValue,
+      height: this.height,
+    };
+    // console.log(val, this.height);
+    this.fn(d);
+  }
+  changeHeight() {
+    //抛出切换方法
+    this.openValue = !this.openValue;
+    if (this.openValue) {
+      this.height = this.maxHeight;
+    } else {
+      this.height = this.useHeight;
+    }
+    let d = {
+      state: this.openValue,
+      height: this.height,
+    };
+    // console.log(val, this.height);
+    this.fn(d);
+  }
+  checkDom(name, fn) {
+    //  声明定时器
+    var timer = null;
+    //  检查dom是否执行完成
+    function checkDom() {
+      // let dom = that.$refs[name];
+      let dom = document.getElementById(name);
+      if (dom) {
+        //  执行dom加载完成后的操作
+        //  清除定时器
+        if (!timer) {
+          clearTimeout(timer);
+        }
+        if (fn) {
+          //回调函数
+          fn(dom);
+          return;
+        } else {
+          return dom;
+        }
+      } else {
+        //  自我调用
+        timer = setTimeout(checkDom, 100);
+      }
+    }
+    //  首次执行
+    checkDom();
+  }
+  // 结束位置是一半判断
+  //  domMove.addEventListener("touchend", function (window) {
+  //   let moseHeight = window.changedTouches[0].clientY;
+  //   let windowHeight = document.body.clientHeight;
+  //   let cha = windowHeight - moseHeight;
+  //   console.log(cha, "最后位置");
+  //   let centerPoint =
+  //     (windowHeight / 2 - +that.useHeight) / 2 + +that.useHeight;
+  //   if (cha >= centerPoint) {
+  //     cha = windowHeight / 2;
+  //   } else if (cha < centerPoint) {
+  //     cha = that.useHeight;
+  //   }
+  //   that.height = cha;
+  // });
+}
+
+export default moveWindow;
diff --git a/src/components/mobilemap/index.vue b/src/components/mobilemap/index.vue
index a4135ba..6f70a3c 100644
--- a/src/components/mobilemap/index.vue
+++ b/src/components/mobilemap/index.vue
@@ -10,11 +10,8 @@
         <!-- 控制↓ -->
         <mobileLeftNav ref="mobileLeftNav"></mobileLeftNav>
         <mobileCortrol ref="mobileCortrol"></mobileCortrol>
-        <mobileCortrolButtom
-            ref="mobileCortrolButtom"
-            :mapCenter="mapCenter"
-            :frislayertHeight="frislayertHeight"
-        ></mobileCortrolButtom>
+        <mobileCortrolButtom ref="mobileCortrolButtom" :mapCenter="mapCenter" :frislayertHeight="frislayertHeight">
+        </mobileCortrolButtom>
         <mobileCortrolSearch ref="mobileCortrolSearch"></mobileCortrolSearch>
         <!-- 控制↑ -->
         <!-- 控制大弹窗的弹窗 -->
@@ -657,6 +654,25 @@
                 }
             })
 
+            global.DC.Namespace.Cesium.Camera.DEFAULT_VIEW_RECTANGLE = global.DC.Namespace.Cesium.Rectangle.fromDegrees(115.788116, 28.638531, 151.805469, 28.646045)
+
+            global.viewer.camera.setView({
+                // Cesium的坐标是以地心为原点,一向指向南美洲,一向指向亚洲,一向指向北极州
+                // fromDegrees()方法,将经纬度和高程转换为世界坐标
+                destination: global.DC.Namespace.Cesium.Cartesian3.fromDegrees(
+                    that.mapCenter[0],
+                    that.mapCenter[1],
+                    that.mapCenter[2]
+                ),
+                orientation: {
+                    // 指向
+                    heading: global.DC.Namespace.Cesium.Math.toRadians(0, 0),
+                    // 视角
+                    pitch: global.DC.Namespace.Cesium.Math.toRadians(-90),
+                    roll: 0
+                }
+            })
+
             const primitiveArr = global.viewer.scene.primitives._primitives
 
             global.viewer.scene.primitives.remove(primitiveArr[0])
@@ -1034,6 +1050,7 @@
     height: 100%;
     position: relative;
 }
+
 .heights {
     background-color: #fff;
     font-size: 24px;
diff --git a/src/pcviews/specialmap/welcome.vue b/src/pcviews/specialmap/welcome.vue
index c9bf634..1240d2d 100644
--- a/src/pcviews/specialmap/welcome.vue
+++ b/src/pcviews/specialmap/welcome.vue
@@ -7,28 +7,14 @@
                 <div class="title">
                     {{ title }}
                     <a href="javascript:void(0);" title="全景浏览">
-                        <img
-                            @click="panoramaPlay"
-                            class="panorama-control deblurring"
-                            src="/zhjg/img/icon/panorama.png"
-                            alt
-                        />
+                        <img @click="panoramaPlay" class="panorama-control deblurring" src="/zhjg/img/icon/panorama.png"
+                            alt />
                     </a>
                     <a href="javascript:void(0);" title="语音介绍">
-                        <img
-                            @click="audioPlay"
-                            class="audio-control deblurring"
-                            :src="audioImgUrl"
-                            alt
-                        />
+                        <img @click="audioPlay" class="audio-control deblurring" :src="audioImgUrl" alt />
                     </a>
                     <a href="javascript:void(0);" title="关闭">
-                        <img
-                            @click="closeModel"
-                            class="close-box deblurring"
-                            src="/zhjg/img/navicon/close.png"
-                            alt
-                        />
+                        <img @click="closeModel" class="close-box deblurring" src="/zhjg/img/navicon/close.png" alt />
                     </a>
                 </div>
             </div>
@@ -55,20 +41,12 @@
                     <div class="title">
                         全景浏览
                         <a href="javascript:void(0);" title="关闭">
-                            <img
-                                @click="(panoramaShow = false), (panoramaUrl = '')"
-                                class="close-box"
-                                src="/zhjg/img/navicon/close.png"
-                                alt
-                            />
+                            <img @click="(panoramaShow = false), (panoramaUrl = '')" class="close-box"
+                                src="/zhjg/img/navicon/close.png" alt />
                         </a>
                     </div>
                     <div class="content">
-                        <iframe
-                            style="width: 100%; height: 100%"
-                            :src="panoramaUrl"
-                            frameborder="0"
-                        ></iframe>
+                        <iframe style="width: 100%; height: 100%" :src="panoramaUrl" frameborder="0"></iframe>
                     </div>
                 </div>
             </div>
@@ -78,7 +56,7 @@
             <div class="header">图层管理</div>
             <ul class="content">
                 <li v-for="(item, index) in layerList" :key="index">
-                    {{item.name}}:
+                    {{ item.name }}:
                     <el-switch v-model="item.flag" @change="switchChange(item)"></el-switch>
                 </li>
             </ul>
@@ -236,9 +214,12 @@
                     this.addArcgisLayer(this.layerList[0].url, this.layerList[0].name)
                 }
 
+                if (result.lx.indexOf(';') == -1) result.lx += ';'
+
                 var a = result.lx.split(';')
 
                 a.forEach((item) => {
+                    if (item == '') return
                     var b = item.split('(')
                     var c = b[1].substr(0, b[1].length - 1)
                     var d = c.split(',')
@@ -249,6 +230,7 @@
                         j.push(f)
                     })
                     var k = j.join(';')
+
                     this.pathList.push(k)
                 })
 
@@ -269,14 +251,14 @@
                 if (this.pointList.length > 0) {
                     this.$store.dispatch('pcMoveView', {
                         viewer: global.viewer,
-                        jd: +this.pointList[0].split(',')[0] - 0.0005,
-                        wd: this.pointList[0].split(',')[1]
+                        jd: (Number(+this.pointList[0].split(',')[0]) - 0.0005),
+                        wd: Number(this.pointList[0].split(',')[1])
                     })
                 } else {
                     this.$store.dispatch('pcMoveView', {
                         viewer: global.viewer,
-                        jd: +this.pathList[0].split(';')[0].split(',')[0] - 0.0005,
-                        wd: this.pathList[0].split(';')[0].split(',')[1]
+                        jd: (Number(+this.pathList[0].split(';')[0].split(',')[0]) - 0.0005),
+                        wd: Number(this.pathList[0].split(';')[0].split(',')[1])
                     })
                 }
             })
@@ -286,7 +268,6 @@
 
             polyline.setStyle({
                 width: 6,
-                arcType: true,
                 material: new global.DC.PolylineImageTrailMaterialProperty({
                     color: global.DC.Namespace.Cesium.Color.fromBytes(10, 255, 10),
                     speed: 60,
@@ -362,7 +343,6 @@
         this.audioSynth.cancel()
         global.viewer.removeLayer(pathLayer)
         global.viewer.removeLayer(pointLayer)
-        // console.log("关闭", "see1");
     }
 }
 </script>
@@ -432,11 +412,11 @@
         padding: 0 16px;
         height: calc(100% - 36px);
 
-        & > div {
+        &>div {
             margin-bottom: 10px;
         }
 
-        & > div:last-child {
+        &>div:last-child {
             margin-bottom: 0px;
         }
 

--
Gitblit v1.9.3