From b4732fd737dec0e17aaec559168e6377de1e0347 Mon Sep 17 00:00:00 2001
From: shuishen <1109946754@qq.com>
Date: Mon, 28 Mar 2022 15:25:08 +0800
Subject: [PATCH] 404跳转问题,活动加载删除问题
---
src/router/page/index.js | 6
src/components/map/components/dimension.vue | 436 ++++++++++++++++++++++---------------------
src/pcviews/specialmap/welcome.vue | 47 +++
src/components/map/index.vue | 5
src/components/error-page/404.vue | 32 +-
src/components/map/components/mapPopup.vue | 22 +
src/App.vue | 15 +
7 files changed, 316 insertions(+), 247 deletions(-)
diff --git a/src/App.vue b/src/App.vue
index 4dfe049..76a0761 100644
--- a/src/App.vue
+++ b/src/App.vue
@@ -1,6 +1,6 @@
<template>
<div id="app" :class="{ cantdoit: cantdoits }">
- <router-view></router-view>
+ <router-view v-if="isRouterActive"></router-view>
</div>
</template>
@@ -8,9 +8,13 @@
import AMapLoader from '@amap/amap-jsapi-loader'
export default {
name: 'App',
+ provide () {
+ return { reload: this.reload }
+ },
data () {
return {
- cantdoits: false
+ cantdoits: false,
+ isRouterActive: true
}
},
mounted () {
@@ -82,6 +86,13 @@
}
},
methods: {
+ reload () {
+ this.isRouterActive = false
+ this.$nextTick(() => {
+ this.isRouterActive = true
+ this.$store.commit('SET_VIEWEREXIST', false)
+ })
+ },
getQueryString (name) {
const inlength =
window.location.href.indexOf('?' + name + '=') + name.length + 2
diff --git a/src/components/error-page/404.vue b/src/components/error-page/404.vue
index b69e54e..1081499 100644
--- a/src/components/error-page/404.vue
+++ b/src/components/error-page/404.vue
@@ -1,24 +1,28 @@
<template>
- <div class="error-page">
- <div class="img"
- style=" background-image: url('/img/bg/404.svg');"></div>
- <div class="content">
- <h1>404</h1>
- <div class="desc">抱歉,你访问的页面不存在</div>
- <div class="actions">
- <router-link :to="{path:'/'}">
- <el-button type="primary">返回首页</el-button>
- </router-link>
- </div>
+ <div class="error-page">
+ <div class="img" style=" background-image: url('/img/bg/404.svg');"></div>
+ <div class="content">
+ <h1>404</h1>
+ <div class="desc">抱歉,你访问的页面不存在</div>
+ <div class="actions">
+ <el-button @click="goHome" type="primary">返回首页</el-button>
+ </div>
+ </div>
</div>
- </div>
</template>
<script>
export default {
- name: 'error-404'
+ name: 'error-404',
+ inject: ['reload'],
+ methods: {
+ goHome () {
+ this.$router.push({ path: '/pcLayout/default' })
+ this.reload()
+ }
+ }
}
</script>
<style lang="scss" scoped>
-@import "./style.scss";
+@import './style.scss';
</style>
diff --git a/src/components/map/components/dimension.vue b/src/components/map/components/dimension.vue
index 6d7d2e4..03bb72a 100644
--- a/src/components/map/components/dimension.vue
+++ b/src/components/map/components/dimension.vue
@@ -59,6 +59,13 @@
let viewerHeight = 950
let smallViewerHeight = 1950
+const mixVH = 500
+const maxVH = 950
+const oneVH = 500
+const twoVH = 650
+const fourVH = 800
+const fiveVH = 950
+
// const wallLayer = null
export default {
@@ -207,16 +214,17 @@
videoLayer.addOverlay(cameraVideo)
- baseMapLayer =
- global.viewer.imageryLayers.addImageryProvider(new global.DC.Namespace.Cesium.UrlTemplateImageryProvider({
- url: '/wp/{z}/{x}/{y}.png',
- fileExtension: 'png'
- // minimumLevel: 19
- }))
+ // baseMapLayer =
+ // global.viewer.imageryLayers.addImageryProvider(new global.DC.Namespace.Cesium.UrlTemplateImageryProvider({
+ // url: '/wp/{z}/{x}/{y}.png',
+ // fileExtension: 'png'
+ // // minimumLevel: 19
+ // }))
global.viewer.imageryLayers.addImageryProvider(
new global.DC.Namespace.Cesium.WebMapTileServiceImageryProvider({
url: 'http://arcgis.jxpskj.com:6080/arcgis/rest/services/FZ25DMap/MapServer/WMTS',
+ // url: 'http://arcgis.jxpskj.com:6080/arcgis/rest/services/PX25DMap/Pingxiang25DMap18000/MapServer/WMTS',
layer: 'fzsw2019',
style: 'default',
tileMatrixSetID: 'default028mm',
@@ -325,11 +333,11 @@
})
// 最小
- global.viewer.scene.screenSpaceCameraController.minimumZoomDistance = 500
- global.eagleViewer.scene.screenSpaceCameraController.minimumZoomDistance = 1500
+ global.viewer.scene.screenSpaceCameraController.minimumZoomDistance = mixVH
+ global.eagleViewer.scene.screenSpaceCameraController.minimumZoomDistance = mixVH + 1000
// 最大
- global.viewer.scene.screenSpaceCameraController.maximumZoomDistance = 950
- global.eagleViewer.scene.screenSpaceCameraController.maximumZoomDistance = 1950
+ global.viewer.scene.screenSpaceCameraController.maximumZoomDistance = maxVH
+ global.eagleViewer.scene.screenSpaceCameraController.maximumZoomDistance = maxVH + 1000
// 设置相机缩小时的速率
global.viewer.scene.screenSpaceCameraController._minimumZoomRate = 2000
@@ -436,178 +444,180 @@
}
})
- document.querySelector('.dc-zoom-controller').children[1].onclick =
- function () {
- if (that.dimensionValue == '真三维') {
- global.viewer.camera.setView({
- // Cesium的坐标是以地心为原点,一向指向南美洲,一向指向亚洲,一向指向北极州
- // fromDegrees()方法,将经纬度和高程转换为世界坐标
- destination: global.DC.Namespace.Cesium.Cartesian3.fromDegrees(
- that.mapCenter[0],
- that.mapCenter[1],
- 220.0
- ),
- orientation: {
- // 指向
- heading: global.DC.Namespace.Cesium.Math.toRadians(-9),
- // 视角
- pitch: global.DC.Namespace.Cesium.Math.toRadians(-34.54),
- roll: 0.0
+ this.$nextTick(() => {
+ document.querySelector('.dc-zoom-controller').children[1].onclick =
+ function () {
+ if (that.dimensionValue == '真三维') {
+ global.viewer.camera.setView({
+ // Cesium的坐标是以地心为原点,一向指向南美洲,一向指向亚洲,一向指向北极州
+ // fromDegrees()方法,将经纬度和高程转换为世界坐标
+ destination: global.DC.Namespace.Cesium.Cartesian3.fromDegrees(
+ that.mapCenter[0],
+ that.mapCenter[1],
+ 220.0
+ ),
+ orientation: {
+ // 指向
+ heading: global.DC.Namespace.Cesium.Math.toRadians(-9),
+ // 视角
+ pitch: global.DC.Namespace.Cesium.Math.toRadians(-34.54),
+ roll: 0.0
+ }
+ })
+ } else {
+ 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.0
+ }
+ })
+ }
+ }
+
+ document.querySelector('.dc-zoom-controller').children[2].onclick =
+ function () {
+ if (
+ that.dimensionValue != undefined &&
+ that.dimensionValue != '真三维'
+ ) {
+ if (viewerHeight == oneVH) {
+ global.viewer.camera.setView({
+ destination: global.DC.Namespace.Cesium.Cartesian3.fromRadians(
+ global.viewer.camera.positionCartographic.longitude,
+ global.viewer.camera.positionCartographic.latitude,
+ twoVH
+ ),
+ orientation: {
+ // 指向
+ heading: global.DC.Namespace.Cesium.Math.toRadians(0, 0),
+ // 视角
+ pitch: global.DC.Namespace.Cesium.Math.toRadians(-90),
+ roll: 0.0
+ }
+ })
+ viewerHeight = twoVH
+ this.$emit('change-wheel', false, 'startWheel')
+ return
}
- })
- } else {
- 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.0
+
+ if (viewerHeight == twoVH) {
+ global.viewer.camera.setView({
+ destination: global.DC.Namespace.Cesium.Cartesian3.fromRadians(
+ global.viewer.camera.positionCartographic.longitude,
+ global.viewer.camera.positionCartographic.latitude,
+ fourVH
+ ),
+ orientation: {
+ // 指向
+ heading: global.DC.Namespace.Cesium.Math.toRadians(0, 0),
+ // 视角
+ pitch: global.DC.Namespace.Cesium.Math.toRadians(-90),
+ roll: 0.0
+ }
+ })
+ viewerHeight = fourVH
+ this.$emit('change-wheel', false, 'startWheel')
+ return
}
- })
- }
- }
- document.querySelector('.dc-zoom-controller').children[2].onclick =
- function () {
- if (
- that.dimensionValue != undefined &&
- that.dimensionValue != '真三维'
- ) {
- if (viewerHeight == 500) {
- global.viewer.camera.setView({
- destination: global.DC.Namespace.Cesium.Cartesian3.fromRadians(
- global.viewer.camera.positionCartographic.longitude,
- global.viewer.camera.positionCartographic.latitude,
- 650
- ),
- orientation: {
- // 指向
- heading: global.DC.Namespace.Cesium.Math.toRadians(0, 0),
- // 视角
- pitch: global.DC.Namespace.Cesium.Math.toRadians(-90),
- roll: 0.0
- }
- })
- viewerHeight = 650
- this.$emit('change-wheel', false, 'startWheel')
- return
- }
-
- if (viewerHeight == 650) {
- global.viewer.camera.setView({
- destination: global.DC.Namespace.Cesium.Cartesian3.fromRadians(
- global.viewer.camera.positionCartographic.longitude,
- global.viewer.camera.positionCartographic.latitude,
- 800
- ),
- orientation: {
- // 指向
- heading: global.DC.Namespace.Cesium.Math.toRadians(0, 0),
- // 视角
- pitch: global.DC.Namespace.Cesium.Math.toRadians(-90),
- roll: 0.0
- }
- })
- viewerHeight = 800
- this.$emit('change-wheel', false, 'startWheel')
- return
- }
-
- if (viewerHeight == 800) {
- global.viewer.camera.setView({
- destination: global.DC.Namespace.Cesium.Cartesian3.fromRadians(
- global.viewer.camera.positionCartographic.longitude,
- global.viewer.camera.positionCartographic.latitude,
- 950
- ),
- orientation: {
- // 指向
- heading: global.DC.Namespace.Cesium.Math.toRadians(0, 0),
- // 视角
- pitch: global.DC.Namespace.Cesium.Math.toRadians(-90),
- roll: 0.0
- }
- })
- viewerHeight = 950
- this.$emit('change-wheel', false, 'startWheel')
+ if (viewerHeight == fourVH) {
+ global.viewer.camera.setView({
+ destination: global.DC.Namespace.Cesium.Cartesian3.fromRadians(
+ global.viewer.camera.positionCartographic.longitude,
+ global.viewer.camera.positionCartographic.latitude,
+ fiveVH
+ ),
+ orientation: {
+ // 指向
+ heading: global.DC.Namespace.Cesium.Math.toRadians(0, 0),
+ // 视角
+ pitch: global.DC.Namespace.Cesium.Math.toRadians(-90),
+ roll: 0.0
+ }
+ })
+ viewerHeight = fiveVH
+ this.$emit('change-wheel', false, 'startWheel')
+ }
}
}
- }
- document.querySelector('.dc-zoom-controller').children[0].onclick =
- function () {
- if (
- that.dimensionValue != undefined &&
- that.dimensionValue != '真三维'
- ) {
- if (viewerHeight == 950) {
- global.viewer.camera.setView({
- destination: global.DC.Namespace.Cesium.Cartesian3.fromRadians(
- global.viewer.camera.positionCartographic.longitude,
- global.viewer.camera.positionCartographic.latitude,
- 800
- ),
- orientation: {
- // 指向
- heading: global.DC.Namespace.Cesium.Math.toRadians(0, 0),
- // 视角
- pitch: global.DC.Namespace.Cesium.Math.toRadians(-90),
- roll: 0.0
- }
- })
- viewerHeight = 800
- this.$emit('change-wheel', false, 'startWheel')
- return
- }
+ document.querySelector('.dc-zoom-controller').children[0].onclick =
+ function () {
+ if (
+ that.dimensionValue != undefined &&
+ that.dimensionValue != '真三维'
+ ) {
+ if (viewerHeight == fiveVH) {
+ global.viewer.camera.setView({
+ destination: global.DC.Namespace.Cesium.Cartesian3.fromRadians(
+ global.viewer.camera.positionCartographic.longitude,
+ global.viewer.camera.positionCartographic.latitude,
+ fourVH
+ ),
+ orientation: {
+ // 指向
+ heading: global.DC.Namespace.Cesium.Math.toRadians(0, 0),
+ // 视角
+ pitch: global.DC.Namespace.Cesium.Math.toRadians(-90),
+ roll: 0.0
+ }
+ })
+ viewerHeight = fourVH
+ this.$emit('change-wheel', false, 'startWheel')
+ return
+ }
- if (viewerHeight == 800) {
- global.viewer.camera.setView({
- destination: global.DC.Namespace.Cesium.Cartesian3.fromRadians(
- global.viewer.camera.positionCartographic.longitude,
- global.viewer.camera.positionCartographic.latitude,
- 650
- ),
- orientation: {
- // 指向
- heading: global.DC.Namespace.Cesium.Math.toRadians(0, 0),
- // 视角
- pitch: global.DC.Namespace.Cesium.Math.toRadians(-90),
- roll: 0.0
- }
- })
- viewerHeight = 650
- this.$emit('change-wheel', false, 'startWheel')
- return
- }
+ if (viewerHeight == fourVH) {
+ global.viewer.camera.setView({
+ destination: global.DC.Namespace.Cesium.Cartesian3.fromRadians(
+ global.viewer.camera.positionCartographic.longitude,
+ global.viewer.camera.positionCartographic.latitude,
+ twoVH
+ ),
+ orientation: {
+ // 指向
+ heading: global.DC.Namespace.Cesium.Math.toRadians(0, 0),
+ // 视角
+ pitch: global.DC.Namespace.Cesium.Math.toRadians(-90),
+ roll: 0.0
+ }
+ })
+ viewerHeight = twoVH
+ this.$emit('change-wheel', false, 'startWheel')
+ return
+ }
- if (viewerHeight == 650) {
- global.viewer.camera.setView({
- destination: global.DC.Namespace.Cesium.Cartesian3.fromRadians(
- global.viewer.camera.positionCartographic.longitude,
- global.viewer.camera.positionCartographic.latitude,
- 500
- ),
- orientation: {
- // 指向
- heading: global.DC.Namespace.Cesium.Math.toRadians(0, 0),
- // 视角
- pitch: global.DC.Namespace.Cesium.Math.toRadians(-90),
- roll: 0.0
- }
- })
- viewerHeight = 500
- this.$emit('change-wheel', false, 'startWheel')
+ if (viewerHeight == twoVH) {
+ global.viewer.camera.setView({
+ destination: global.DC.Namespace.Cesium.Cartesian3.fromRadians(
+ global.viewer.camera.positionCartographic.longitude,
+ global.viewer.camera.positionCartographic.latitude,
+ oneVH
+ ),
+ orientation: {
+ // 指向
+ heading: global.DC.Namespace.Cesium.Math.toRadians(0, 0),
+ // 视角
+ pitch: global.DC.Namespace.Cesium.Math.toRadians(-90),
+ roll: 0.0
+ }
+ })
+ viewerHeight = oneVH
+ this.$emit('change-wheel', false, 'startWheel')
+ }
}
}
- }
+ })
global.viewer.on(global.DC.SceneEventType.CAMERA_CHANGED, that.mapCameraEvent)
global.eagleViewer.on(global.DC.SceneEventType.CAMERA_CHANGED, that.smallMapCameraEvent)
@@ -693,12 +703,12 @@
if (this.startWheel == false) return
if (this.wheelFlag) { // 下
- if (viewerHeight == 950) {
+ if (viewerHeight == fiveVH) {
global.viewer.camera.setView({
destination: global.DC.Namespace.Cesium.Cartesian3.fromRadians(
global.viewer.camera.positionCartographic.longitude,
global.viewer.camera.positionCartographic.latitude,
- 800
+ fourVH
),
orientation: {
// 指向
@@ -708,17 +718,17 @@
roll: 0.0
}
})
- viewerHeight = 800
+ viewerHeight = fourVH
this.$emit('change-wheel', false, 'startWheel')
return
}
- if (viewerHeight == 800) {
+ if (viewerHeight == fourVH) {
global.viewer.camera.setView({
destination: global.DC.Namespace.Cesium.Cartesian3.fromRadians(
global.viewer.camera.positionCartographic.longitude,
global.viewer.camera.positionCartographic.latitude,
- 650
+ twoVH
),
orientation: {
// 指向
@@ -728,17 +738,17 @@
roll: 0.0
}
})
- viewerHeight = 650
+ viewerHeight = twoVH
this.$emit('change-wheel', false, 'startWheel')
return
}
- if (viewerHeight == 650) {
+ if (viewerHeight == twoVH) {
global.viewer.camera.setView({
destination: global.DC.Namespace.Cesium.Cartesian3.fromRadians(
global.viewer.camera.positionCartographic.longitude,
global.viewer.camera.positionCartographic.latitude,
- 500
+ oneVH
),
orientation: {
// 指向
@@ -748,16 +758,16 @@
roll: 0.0
}
})
- viewerHeight = 500
+ viewerHeight = oneVH
this.$emit('change-wheel', false, 'startWheel')
}
} else { // 上
- if (viewerHeight == 500) {
+ if (viewerHeight == oneVH) {
global.viewer.camera.setView({
destination: global.DC.Namespace.Cesium.Cartesian3.fromRadians(
global.viewer.camera.positionCartographic.longitude,
global.viewer.camera.positionCartographic.latitude,
- 650
+ twoVH
),
orientation: {
// 指向
@@ -767,17 +777,17 @@
roll: 0.0
}
})
- viewerHeight = 650
+ viewerHeight = twoVH
this.$emit('change-wheel', false, 'startWheel')
return
}
- if (viewerHeight == 650) {
+ if (viewerHeight == twoVH) {
global.viewer.camera.setView({
destination: global.DC.Namespace.Cesium.Cartesian3.fromRadians(
global.viewer.camera.positionCartographic.longitude,
global.viewer.camera.positionCartographic.latitude,
- 800
+ fourVH
),
orientation: {
// 指向
@@ -787,17 +797,17 @@
roll: 0.0
}
})
- viewerHeight = 800
+ viewerHeight = fourVH
this.$emit('change-wheel', false, 'startWheel')
return
}
- if (viewerHeight == 800) {
+ if (viewerHeight == fourVH) {
global.viewer.camera.setView({
destination: global.DC.Namespace.Cesium.Cartesian3.fromRadians(
global.viewer.camera.positionCartographic.longitude,
global.viewer.camera.positionCartographic.latitude,
- 950
+ fiveVH
),
orientation: {
// 指向
@@ -807,7 +817,7 @@
roll: 0.0
}
})
- viewerHeight = 950
+ viewerHeight = fiveVH
this.$emit('change-wheel', false, 'startWheel')
}
}
@@ -827,12 +837,12 @@
if (this.startSmallWheel == false) return
if (this.wheelFlag) { // 下
- if (smallViewerHeight == 1950) {
+ if (smallViewerHeight == fiveVH + 1000) {
global.eagleViewer.camera.setView({
destination: global.DC.Namespace.Cesium.Cartesian3.fromRadians(
global.eagleViewer.camera.positionCartographic.longitude,
global.eagleViewer.camera.positionCartographic.latitude,
- 1800
+ fourVH + 1000
),
orientation: {
// 指向
@@ -842,17 +852,17 @@
roll: 0.0
}
})
- smallViewerHeight = 1800
+ smallViewerHeight = fourVH + 1000
this.$emit('change-wheel', false, 'startSmallWheel')
return
}
- if (smallViewerHeight == 1800) {
+ if (smallViewerHeight == fourVH + 1000) {
global.eagleViewer.camera.setView({
destination: global.DC.Namespace.Cesium.Cartesian3.fromRadians(
global.eagleViewer.camera.positionCartographic.longitude,
global.eagleViewer.camera.positionCartographic.latitude,
- 1650
+ twoVH + 1000
),
orientation: {
// 指向
@@ -862,17 +872,17 @@
roll: 0.0
}
})
- smallViewerHeight = 1650
+ smallViewerHeight = twoVH + 1000
this.$emit('change-wheel', false, 'startSmallWheel')
return
}
- if (smallViewerHeight == 1650) {
+ if (smallViewerHeight == twoVH + 1000) {
global.eagleViewer.camera.setView({
destination: global.DC.Namespace.Cesium.Cartesian3.fromRadians(
global.eagleViewer.camera.positionCartographic.longitude,
global.eagleViewer.camera.positionCartographic.latitude,
- 1500
+ oneVH + 1000
),
orientation: {
// 指向
@@ -882,16 +892,16 @@
roll: 0.0
}
})
- smallViewerHeight = 1500
+ smallViewerHeight = oneVH + 1000
this.$emit('change-wheel', false, 'startSmallWheel')
}
} else { // 上
- if (smallViewerHeight == 1500) {
+ if (smallViewerHeight == oneVH + 1000) {
global.eagleViewer.camera.setView({
destination: global.DC.Namespace.Cesium.Cartesian3.fromRadians(
global.eagleViewer.camera.positionCartographic.longitude,
global.eagleViewer.camera.positionCartographic.latitude,
- 1650
+ twoVH + 1000
),
orientation: {
// 指向
@@ -901,17 +911,17 @@
roll: 0.0
}
})
- smallViewerHeight = 1650
+ smallViewerHeight = twoVH + 1000
this.$emit('change-wheel', false, 'startSmallWheel')
return
}
- if (smallViewerHeight == 1650) {
+ if (smallViewerHeight == twoVH + 1000) {
global.eagleViewer.camera.setView({
destination: global.DC.Namespace.Cesium.Cartesian3.fromRadians(
global.eagleViewer.camera.positionCartographic.longitude,
global.eagleViewer.camera.positionCartographic.latitude,
- 1800
+ fourVH + 1000
),
orientation: {
// 指向
@@ -921,17 +931,17 @@
roll: 0.0
}
})
- smallViewerHeight = 1800
+ smallViewerHeight = fourVH + 1000
this.$emit('change-wheel', false, 'startSmallWheel')
return
}
- if (smallViewerHeight == 1800) {
+ if (smallViewerHeight == fourVH + 1000) {
global.eagleViewer.camera.setView({
destination: global.DC.Namespace.Cesium.Cartesian3.fromRadians(
global.eagleViewer.camera.positionCartographic.longitude,
global.eagleViewer.camera.positionCartographic.latitude,
- 1950
+ fiveVH + 1000
),
orientation: {
// 指向
@@ -941,7 +951,7 @@
roll: 0.0
}
})
- smallViewerHeight = 1950
+ smallViewerHeight = fiveVH + 1000
this.$emit('change-wheel', false, 'startSmallWheel')
}
}
@@ -1294,7 +1304,7 @@
destination: global.DC.Namespace.Cesium.Cartesian3.fromDegrees(
that.mapCenter[0],
that.mapCenter[1],
- 1950.0
+ maxVH + 1000
),
orientation: {
// 指向
@@ -1305,11 +1315,11 @@
}
})
// 最小
- global.viewer.scene.screenSpaceCameraController.minimumZoomDistance = 500
- global.eagleViewer.scene.screenSpaceCameraController.minimumZoomDistance = 1500
+ global.viewer.scene.screenSpaceCameraController.minimumZoomDistance = mixVH
+ global.eagleViewer.scene.screenSpaceCameraController.minimumZoomDistance = mixVH + 1000
// 最大
- global.viewer.scene.screenSpaceCameraController.maximumZoomDistance = 950
- global.eagleViewer.scene.screenSpaceCameraController.maximumZoomDistance = 1950
+ global.viewer.scene.screenSpaceCameraController.maximumZoomDistance = maxVH
+ global.eagleViewer.scene.screenSpaceCameraController.maximumZoomDistance = maxVH + 1000
// 视角旋转
global.viewer.scene.screenSpaceCameraController.enableTilt = false
global.eagleViewer.scene.screenSpaceCameraController.enableTilt = false
diff --git a/src/components/map/components/mapPopup.vue b/src/components/map/components/mapPopup.vue
index f9ae8a9..cd760a3 100644
--- a/src/components/map/components/mapPopup.vue
+++ b/src/components/map/components/mapPopup.vue
@@ -745,12 +745,14 @@
this.audioSynth = window.speechSynthesis
this.audioMsg = new window.SpeechSynthesisUtterance()
- this.audioMsg.onend = function () {
- that.audioSynth.cancel()
- that.audioFlag = false
- that.audioCourse = false
- that.audioImgUrl = '/img/icon/close-video.png'
- }
+ this.$nextTick(() => {
+ this.audioMsg.onend = function () {
+ that.audioSynth.cancel()
+ that.audioFlag = false
+ that.audioCourse = false
+ that.audioImgUrl = '/img/icon/close-video.png'
+ }
+ })
},
mounted () {
global.viewer.scene.globe.depthTestAgainstTerrain = false
@@ -816,12 +818,16 @@
immediate: true,
handler (newCode, oldCode) {
if (newCode == false) {
- this.audioSynth.cancel()
+ if (this.audioSynth != null) {
+ this.audioSynth.cancel()
+ }
this.audioFlag = false
this.audioCourse = false
} else {
if (this.audioFlag == true) {
- this.audioSynth.cancel()
+ if (this.audioSynth != null) {
+ this.audioSynth.cancel()
+ }
this.audioFlag = false
this.audioCourse = false
this.audioImgUrl = '/img/icon/close-video.png'
diff --git a/src/components/map/index.vue b/src/components/map/index.vue
index da5d9ff..5421c65 100644
--- a/src/components/map/index.vue
+++ b/src/components/map/index.vue
@@ -227,6 +227,11 @@
global.viewer.measure.deactivate()
}
+ if (global.viewer != null) {
+ global.viewer = null
+ global.eagleViewer = null
+ }
+
function initViewer () {
global.viewer = new global.DC.Viewer('viewer-container', {
contextOptions: {
diff --git a/src/pcviews/specialmap/welcome.vue b/src/pcviews/specialmap/welcome.vue
index 72a60c2..1968d5c 100644
--- a/src/pcviews/specialmap/welcome.vue
+++ b/src/pcviews/specialmap/welcome.vue
@@ -74,7 +74,7 @@
</div>
</div>
- <!-- <div v-show="layerList.length > 0" class="layer-manage-container">
+ <div v-show="layerList.length > 0" class="layer-manage-container">
<div class="header">图层管理</div>
<ul class="content">
<li v-for="(item, index) in layerList" :key="index">
@@ -82,7 +82,7 @@
<el-switch v-model="item.flag" @change="switchChange(item)"></el-switch>
</li>
</ul>
- </div>-->
+ </div>
</div>
</template>
@@ -92,6 +92,7 @@
let pathLayer = null
let pointLayer = null
+let special = []
export default {
data () {
@@ -146,6 +147,14 @@
this.urlDataName = this.$route.query.name
this.getData()
} else if (newData.query.name != this.urlDataName) {
+ if (special.length > 0) {
+ special.forEach(item => {
+ global.viewer.imageryLayers.remove(
+ item.layer
+ )
+ })
+ }
+ special = []
this.audioSynth.cancel()
global.viewer.removeLayer(pathLayer)
global.viewer.removeLayer(pointLayer)
@@ -169,22 +178,33 @@
methods: {
switchChange (item) {
if (item.flag == true) {
-
+ this.addArcgisLayer(item.url, item.name)
} else {
-
+ this.removeArcgisLayer(item.name)
}
},
- addArcgisLayer (url) {
- global.viewer.imageryLayers.addImageryProvider(
+ addArcgisLayer (url, name) {
+ var layer = global.viewer.imageryLayers.addImageryProvider(
new global.DC.Namespace.Cesium.ArcGisMapServerImageryProvider({
url: url
})
)
+ special.push({
+ layer,
+ name
+ })
},
- removeArcgisLayer () {
-
+ removeArcgisLayer (name) {
+ special.forEach((item, index) => {
+ if (item.name == name) {
+ global.viewer.imageryLayers.remove(
+ item.layer
+ )
+ special.splice(index, 1)
+ }
+ })
},
getData () {
@@ -213,7 +233,7 @@
this.layerList.push({ flag: false, name: item, url: url[index] })
})
this.layerList[0].flag = true
- this.addArcgisLayer(this.layerList[0].url)
+ this.addArcgisLayer(this.layerList[0].url, this.layerList[0].name)
}
var a = result.lx.split(';')
@@ -314,6 +334,15 @@
}
},
closeModel () {
+ if (special.length > 0) {
+ special.forEach(item => {
+ global.viewer.imageryLayers.remove(
+ item.layer
+ )
+ })
+ }
+ special = []
+
global.viewer.removeLayer(pathLayer)
global.viewer.removeLayer(pointLayer)
diff --git a/src/router/page/index.js b/src/router/page/index.js
index f6ef179..f854bae 100644
--- a/src/router/page/index.js
+++ b/src/router/page/index.js
@@ -2,7 +2,7 @@
* @Author: Morpheus
* @Date: 2021-04-30 14:12:09
* @Last Modified by: Morpheus
- * @Last Modified time: 2022-03-24 15:25:40
+ * @Last Modified time: 2022-03-28 14:34:15
*/
import Vue from 'vue'
@@ -63,6 +63,10 @@
},
component: large
},
+ {
+ path: '/',
+ redirect: '/pcLayout'
+ },
// pc端
{
path: '/pcLayout',
--
Gitblit v1.9.3