shuishen
2022-03-28 b4732fd737dec0e17aaec559168e6377de1e0347
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,6 +444,7 @@
                        }
                    })
                    this.$nextTick(() => {
                    document.querySelector('.dc-zoom-controller').children[1].onclick =
                        function () {
                            if (that.dimensionValue == '真三维') {
@@ -481,12 +490,12 @@
                                that.dimensionValue != undefined &&
                                that.dimensionValue != '真三维'
                            ) {
                                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: {
                                            // 指向
@@ -496,17 +505,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: {
                                            // 指向
@@ -516,17 +525,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: {
                                            // 指向
@@ -536,7 +545,7 @@
                                            roll: 0.0
                                        }
                                    })
                                    viewerHeight = 950
                                        viewerHeight = fiveVH
                                    this.$emit('change-wheel', false, 'startWheel')
                                }
                            }
@@ -548,12 +557,12 @@
                                that.dimensionValue != undefined &&
                                that.dimensionValue != '真三维'
                            ) {
                                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: {
                                            // 指向
@@ -563,17 +572,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: {
                                            // 指向
@@ -583,17 +592,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: {
                                            // 指向
@@ -603,11 +612,12 @@
                                            roll: 0.0
                                        }
                                    })
                                    viewerHeight = 500
                                        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