shuishen
2022-01-04 b23993b436146d31849d0a6d6b65d01786bea189
部分更改
8 files modified
1 files added
613 ■■■■ changed files
src/components/arcNavBar/index.vue 3 ●●●● patch | view | raw | blame | history
src/components/map/components/campusBuildingSearch.vue 2 ●●● patch | view | raw | blame | history
src/components/map/components/dimension copy.vue 310 ●●●●● patch | view | raw | blame | history
src/components/map/components/dimension.vue 151 ●●●● patch | view | raw | blame | history
src/components/map/components/mapPopup.vue 3 ●●●● patch | view | raw | blame | history
src/components/map/index.vue 133 ●●●●● patch | view | raw | blame | history
src/components/orgNavBar/index.vue 3 ●●●● patch | view | raw | blame | history
src/components/serviceNavBar/index.vue 3 ●●●● patch | view | raw | blame | history
src/router/axios.js 5 ●●●●● patch | view | raw | blame | history
src/components/arcNavBar/index.vue
@@ -218,7 +218,7 @@
        },
        newPopup (item) {
            const position = this.DC.Transform.transformWGS84ToCartesian(new this.DC.Position(Number(item.jd), Number(item.wd), Number(item.gd), Number(item.heading), Number(item.pitch), Number(item.roll)))
            const position = this.DC.Transform.transformWGS84ToCartesian(new this.DC.Position(Number(item.jd), Number(item.wd), Number(item.gd)))
            // eslint-disable-next-line no-unused-vars
            var popup = new this.DC.DivForms(this.viewer, {
                domId: 'divFormsDomBox',
@@ -228,6 +228,7 @@
            })
            this.$store.commit('SET_PANORAMAPOPUP', false)
            this.$store.commit('SET_MONITORPOPUP', false)
            this.$store.commit('SET_DETAILSPOPUP', true)
        },
src/components/map/components/campusBuildingSearch.vue
@@ -273,7 +273,7 @@
        },
        newPopup (item) {
            const position = this.DC.Transform.transformWGS84ToCartesian(new this.DC.Position(Number(item.jd), Number(item.wd), Number(item.gd), Number(item.heading), Number(item.pitch), Number(item.roll)))
            const position = this.DC.Transform.transformWGS84ToCartesian(new this.DC.Position(Number(item.jd), Number(item.wd), Number(item.gd)))
            // eslint-disable-next-line no-unused-vars
            var popup = new this.DC.DivForms(this.viewer, {
                domId: 'divFormsDomBox',
src/components/map/components/dimension copy.vue
New file
@@ -0,0 +1,310 @@
<template>
    <div class="dimension-cut">
        <el-radio-group v-model="dimensionValue"
                        size="medium"
                        @change="dimensionChange">
            <el-radio-button label="2.5维"></el-radio-button>
            <el-radio-button label="3 维"></el-radio-button>
        </el-radio-group>
    </div>
</template>
<script>
import { mapGetters } from 'vuex'
export default {
    name: 'dimension',
    data () {
        return {
            DC: null,
            dimensionValue: '2.5维',
            newLayer: null,
            provider: null,
            wallLayer: null,
            tileset: null,
            tilesetLayer: null,
            titlesetLayerFlag: false,
            silhouetteBlue: null,
            wallArr: [
                [116.41526036, 27.95352217, 100],
                [116.41128018, 27.95789328, 100],
                [116.40246486, 27.96397110, 100],
                [116.39728537, 27.96779573, 100],
                [116.39588026, 27.96862679, 100],
                [116.38903705, 27.97029865, 100],
                [116.38872398, 27.97051829, 100],
                [116.38892229, 27.97090120, 100],
                [116.38906721, 27.97190632, 100],
                [116.38706808, 27.97195638, 100],
                [116.38649076, 27.97114448, 100],
                [116.38214070, 27.97312735, 100],
                [116.37876213, 27.97582549, 100],
                [116.37851310, 27.97664153, 100],
                [116.37634915, 27.98039526, 100],
                [116.37439220, 27.98131916, 100],
                [116.36995935, 27.97936074, 100],
                [116.37217247, 27.97498147, 100],
                [116.35099819, 27.97539586, 100],
                [116.35103749, 27.98088050, 100],
                [116.33972460, 27.97987911, 100],
                [116.33950071, 27.97372028, 100],
                [116.32313266, 27.97004136, 100],
                [116.32606743, 27.95863979, 100],
                [116.34788837, 27.92538024, 100],
                [116.34566310, 27.92338627, 100],
                [116.34874490, 27.91718915, 100],
                [116.35311999, 27.91804451, 100],
                [116.35109257, 27.92284807, 100],
                [116.35975153, 27.92900526, 100],
                [116.35660704, 27.93816236, 100],
                [116.39585177, 27.93945304, 100],
                [116.41526036, 27.95352217, 100]
            ]
        }
    },
    computed: {
        ...mapGetters([
            'viewer',
            // 校内导航的显示关闭
            'campusNavFlag',
            'orgNavBarFlag',
            'arcNavBarFlag'
        ])
    },
    created () {
        this.DC = global.DC
    },
    watch: {
        viewer: {
            immediate: true,
            handler (newCode, oldCode) {
                if (this.titlesetLayerFlag == false && newCode != null) {
                    var that = this
                    that.tilesetLayer = new that.DC.TilesetLayer('tilesetLayer')
                    that.viewer.addLayer(that.tilesetLayer)
                    that.tileset = new that.DC.Tileset(
                        'http://data.mars3d.cn/3dtiles/max-shihua/tileset.json',
                        {
                            luminanceAtZenith: 0.5
                        }
                    )
                    that.tilesetLayer.addOverlay(that.tileset)
                    that.silhouetteBlue = that.DC.Namespace.Cesium.PostProcessStageLibrary.createEdgeDetectionStage()
                    that.silhouetteBlue.uniforms.color = that.DC.Namespace.Cesium.Color.fromBytes(9, 162, 40)
                    that.silhouetteBlue.uniforms.length = 0.01
                    that.silhouetteBlue.selected = []
                    that.viewer.scene.postProcessStages.add(
                        that.DC.Namespace.Cesium.PostProcessStageLibrary.createSilhouetteStage([
                            that.silhouetteBlue
                        ])
                    )
                    var highlighted = {
                        feature: undefined,
                        originalColor: new that.DC.Namespace.Cesium.Color()
                    }
                    var selected = {
                        feature: undefined,
                        originalColor: new that.DC.Namespace.Cesium.Color()
                    }
                    that.tileset.on(that.DC.MouseEventType.CLICK, e => {
                        that.viewer.scene.globe.depthTestAgainstTerrain = false
                        that.$store.commit('CLEAR_ALL', null)
                        var imgArr = ['http://223.82.109.183:2081/zhxy/upload/20211222/f66dc4527eb4cc1b2d33fa3a5b345ed0.jpg']
                        that.$store.commit('SET_POPUPBGURL', imgArr[0])
                        that.$store.commit('SET_POPUPQRURL', 'http://223.82.109.183:2081/zhxy/upload/20211222/9c324adea5d9e5b50cd8f874d5f780f4.png')
                        that.$store.commit('SET_POINTPOSITION', [Number(e.wgs84Position.lng), Number(e.wgs84Position.lat), Number(e.wgs84Position.alt), Number(0), Number(0), Number(0)])
                        that.$store.commit('SET_STATENAME', e.overlay.attr.name)
                        that.$store.commit('SET_SITENAME', e.overlay.attr['地址'])
                        that.$store.commit('SET_POPUPIMGATLAS', imgArr)
                        // 定制化窗体
                        // eslint-disable-next-line no-unused-vars
                        var popup = new that.DC.DivForms(that.viewer, {
                            domId: 'divFormsDomBox',
                            position: [
                                that.DC.Transform.transformWGS84ToCartesian(new that.DC.Position(Number(e.wgs84Position.lng), Number(e.wgs84Position.lat), Number(e.wgs84Position.alt)))
                            ]
                        })
                        this.$store.commit('SET_PANORAMAPOPUP', false)
                        this.$store.commit('SET_MONITORPOPUP', false)
                        this.$store.commit('SET_DETAILSPOPUP', true)
                    })
                    that.tileset.on(that.DC.MouseEventType.MOUSE_MOVE, e => {
                        that.silhouetteBlue.selected = []
                        if (that.DC.Namespace.Cesium.defined(highlighted.feature)) {
                            highlighted.feature.color = highlighted.originalColor
                            highlighted.feature = undefined
                        }
                        if (e.feature !== selected.feature) {
                            that.silhouetteBlue.selected = [e.feature]
                            highlighted.feature = e.feature
                            that.DC.Namespace.Cesium.Color.clone(
                                e.feature.color,
                                highlighted.originalColor
                            )
                            e.feature.color = that.DC.Namespace.Cesium.Color.fromBytes(155, 255, 175)
                        }
                    })
                    var provider = new that.DC.Namespace.Cesium.WebMapTileServiceImageryProvider({
                        url: 'http://arcgis.jxpskj.com:6080/arcgis/rest/services/PingXiang25DMap/MapServer/tile/{TileMatrix}/{TileRow}/{TileCol}',
                        layer: 'PingXiang25DMap',
                        style: 'default',
                        tileMatrixSetID: 'default028mm',
                        format: 'image/jpgpng',
                        tilingScheme: new that.DC.Namespace.Cesium.GeographicTilingScheme(),
                        maximumLevel: 19,
                        tileMatrixLabels: [
                            '0',
                            '1',
                            '2',
                            '3',
                            '4',
                            '5',
                            '6',
                            '7',
                            '8',
                            '9',
                            '10',
                            '11',
                            '12',
                            '13',
                            '14',
                            '15',
                            '16',
                            '17',
                            '18',
                            '19'
                        ]
                    })
                    that.newLayer = that.viewer.imageryLayers.addImageryProvider(provider)
                    that.wallLayer = new that.DC.VectorLayer('wallLayer')
                    that.viewer.addLayer(that.wallLayer)
                    that.wallArr.forEach(item => {
                        item = item.join(',')
                    })
                    that.wallArr = that.wallArr.join(';')
                    const wall = new that.DC.Wall(
                        that.wallArr
                    )
                    wall.setStyle({
                        material: new that.DC.WallTrailMaterialProperty({
                            color: that.DC.Namespace.Cesium.Color.fromBytes(0, 142, 255, 150),
                            // color: that.DC.Color.CYAN,
                            speed: 10
                        })
                    })
                    that.wallLayer.addOverlay(wall)
                    that.viewer.camera.setView({
                        // Cesium的坐标是以地心为原点,一向指向南美洲,一向指向亚洲,一向指向北极州
                        // fromDegrees()方法,将经纬度和高程转换为世界坐标
                        destination: that.DC.Namespace.Cesium.Cartesian3.fromDegrees(114.03928791, 27.62954732, 1000.0),
                        orientation: {
                            // 指向
                            heading: that.DC.Namespace.Cesium.Math.toRadians(0, 0),
                            // 视角
                            pitch: that.DC.Namespace.Cesium.Math.toRadians(-90),
                            roll: 0.0
                        }
                    })
                    this.tilesetLayer.show = false
                    this.titlesetLayerFlag = true
                }
            }
        }
    },
    methods: {
        dimensionChange () {
            var that = this
            if (that.dimensionValue == '3 维') {
                that.wallLayer.show = false
                that.viewer.imageryLayers.remove(that.newLayer)
                that.newLayer = null
                that.silhouetteBlue.selected = []
                that.tilesetLayer.show = true
                that.viewer.flyTo(that.tileset)
            } else {
                that.tilesetLayer.show = false
                var provider = new that.DC.Namespace.Cesium.WebMapTileServiceImageryProvider({
                    url: 'http://www.tdtfz.com/OneMapServer/rest/services/fzsw2019/MapServer/WMTS/tile/1.0.0/fzsw2019/{Style}/{TileMatrixSet}/{TileMatrix}/{TileRow}/{TileCol}',
                    layer: 'fzsw2019',
                    style: 'default',
                    tileMatrixSetID: 'default028mm',
                    format: 'image/jpgpng',
                    tilingScheme: new that.DC.Namespace.Cesium.GeographicTilingScheme(),
                    maximumLevel: 19,
                    tileMatrixLabels: [
                        '0',
                        '1',
                        '2',
                        '3',
                        '4',
                        '5',
                        '6',
                        '7',
                        '8',
                        '9',
                        '10',
                        '11',
                        '12',
                        '13',
                        '14',
                        '15',
                        '16',
                        '17',
                        '18',
                        '19'
                    ]
                })
                that.newLayer = that.viewer.imageryLayers.addImageryProvider(provider)
                that.wallLayer.show = true
                that.viewer.camera.setView({
                    // Cesium的坐标是以地心为原点,一向指向南美洲,一向指向亚洲,一向指向北极州
                    // fromDegrees()方法,将经纬度和高程转换为世界坐标
                    destination: that.DC.Namespace.Cesium.Cartesian3.fromDegrees(114.03928791, 27.62954732, 1000.0),
                    orientation: {
                        // 指向
                        heading: that.DC.Namespace.Cesium.Math.toRadians(0, 0),
                        // 视角
                        pitch: that.DC.Namespace.Cesium.Math.toRadians(-90),
                        roll: 0.0
                    }
                })
            }
        }
    }
}
</script>
<style lang='scss' scope>
.dimension-cut {
    position: fixed;
    top: 100px;
    right: 10px;
    width: auto;
    // height: 40px;
    z-index: 1;
}
</style>
src/components/map/components/dimension.vue
@@ -3,8 +3,8 @@
        <el-radio-group v-model="dimensionValue"
                        size="medium"
                        @change="dimensionChange">
            <el-radio-button label="3 维"></el-radio-button>
            <el-radio-button label="2.5维"></el-radio-button>
            <el-radio-button label="3 维"></el-radio-button>
        </el-radio-group>
    </div>
</template>
@@ -18,7 +18,7 @@
    data () {
        return {
            DC: null,
            dimensionValue: '3 维',
            dimensionValue: '2.5维',
            newLayer: null,
            provider: null,
            wallLayer: null,
@@ -131,12 +131,13 @@
                        var popup = new that.DC.DivForms(that.viewer, {
                            domId: 'divFormsDomBox',
                            position: [
                                that.DC.Transform.transformWGS84ToCartesian(new that.DC.Position(Number(e.wgs84Position.lng), Number(e.wgs84Position.lat), Number(e.wgs84Position.alt), Number(0), Number(0), Number(0)))
                                that.DC.Transform.transformWGS84ToCartesian(new that.DC.Position(Number(e.wgs84Position.lng), Number(e.wgs84Position.lat), Number(e.wgs84Position.alt)))
                            ]
                        })
                        that.$store.commit('SET_DETAILSPOPUP', true)
                        that.$store.commit('SET_PANORAMAPOPUP', false)
                        this.$store.commit('SET_PANORAMAPOPUP', false)
                        this.$store.commit('SET_MONITORPOPUP', false)
                        this.$store.commit('SET_DETAILSPOPUP', true)
                    })
                    that.tileset.on(that.DC.MouseEventType.MOUSE_MOVE, e => {
@@ -160,37 +161,42 @@
                        }
                    })
                    var provider = new that.DC.Namespace.Cesium.WebMapTileServiceImageryProvider({
                        url: 'http://www.tdtfz.com/OneMapServer/rest/services/fzsw2019/MapServer/WMTS/tile/1.0.0/fzsw2019/{Style}/{TileMatrixSet}/{TileMatrix}/{TileRow}/{TileCol}',
                        layer: 'fzsw2019',
                        style: 'default',
                        tileMatrixSetID: 'default028mm',
                        format: 'image/jpgpng',
                        tilingScheme: new that.DC.Namespace.Cesium.GeographicTilingScheme(),
                        maximumLevel: 19,
                        tileMatrixLabels: [
                            '0',
                            '1',
                            '2',
                            '3',
                            '4',
                            '5',
                            '6',
                            '7',
                            '8',
                            '9',
                            '10',
                            '11',
                            '12',
                            '13',
                            '14',
                            '15',
                            '16',
                            '17',
                            '18',
                            '19'
                        ]
                    // var provider = new that.DC.Namespace.Cesium.WebMapTileServiceImageryProvider({
                    //     url: 'http://www.tdtfz.com/OneMapServer/rest/services/fzsw2019/MapServer/WMTS/tile/1.0.0/fzsw2019/{Style}/{TileMatrixSet}/{TileMatrix}/{TileRow}/{TileCol}',
                    //     layer: 'fzsw2019',
                    //     style: 'default',
                    //     tileMatrixSetID: 'default028mm',
                    //     format: 'image/jpgpng',
                    //     tilingScheme: new that.DC.Namespace.Cesium.GeographicTilingScheme(),
                    //     maximumLevel: 19,
                    //     tileMatrixLabels: [
                    //         '0',
                    //         '1',
                    //         '2',
                    //         '3',
                    //         '4',
                    //         '5',
                    //         '6',
                    //         '7',
                    //         '8',
                    //         '9',
                    //         '10',
                    //         '11',
                    //         '12',
                    //         '13',
                    //         '14',
                    //         '15',
                    //         '16',
                    //         '17',
                    //         '18',
                    //         '19'
                    //     ]
                    // })
                    var provider = new that.DC.Namespace.Cesium.ArcGisMapServerImageryProvider({
                        url: 'http://arcgis.jxpskj.com:6080/arcgis/rest/services/PingXiang25DMapDN/MapServer'
                    })
                    that.newLayer = that.viewer.imageryLayers.addImageryProvider(provider)
                    that.wallLayer = new that.DC.VectorLayer('wallLayer')
@@ -215,7 +221,7 @@
                    that.viewer.camera.setView({
                        // Cesium的坐标是以地心为原点,一向指向南美洲,一向指向亚洲,一向指向北极州
                        // fromDegrees()方法,将经纬度和高程转换为世界坐标
                        destination: that.DC.Namespace.Cesium.Cartesian3.fromDegrees(116.36618337, 27.95911915, 1000.0),
                        destination: that.DC.Namespace.Cesium.Cartesian3.fromDegrees(114.03928791, 27.62954732, 1000.0),
                        orientation: {
                            // 指向
                            heading: that.DC.Namespace.Cesium.Math.toRadians(0, 0),
@@ -227,6 +233,25 @@
                    this.tilesetLayer.show = false
                    this.titlesetLayerFlag = true
                    that.viewer.on(that.DC.SceneEventType.CAMERA_CHANGED, (e) => {
                        that.camerAzoom(e)
                    })
                    // 最小
                    that.viewer.scene.screenSpaceCameraController.minimumZoomDistance = 500
                    // 最大
                    that.viewer.scene.screenSpaceCameraController.maximumZoomDistance = 600000
                    // 设置相机缩小时的速率
                    that.viewer.scene.screenSpaceCameraController._minimumZoomRate = 30000
                    // 设置相机放大时的速率
                    that.viewer.scene.screenSpaceCameraController._maximumZoomRate = 5906376272000
                    // 视角平移
                    that.viewer.scene.screenSpaceCameraController.enableRotate = true
                    // 视角缩放
                    that.viewer.scene.screenSpaceCameraController.enableZoom = true
                    // 视角旋转
                    that.viewer.scene.screenSpaceCameraController.enableTilt = false
                }
            }
        }
@@ -241,6 +266,16 @@
                that.silhouetteBlue.selected = []
                that.tilesetLayer.show = true
                that.viewer.flyTo(that.tileset)
                that.viewer.off(that.DC.SceneEventType.CAMERA_CHANGED, (e) => {
                    that.camerAzoom(e)
                })
                // 最小
                that.viewer.scene.screenSpaceCameraController.minimumZoomDistance = 1.0
                // 最大
                that.viewer.scene.screenSpaceCameraController.maximumZoomDistance = Number.POSITIVE_INFINITY
                // 视角旋转
                that.viewer.scene.screenSpaceCameraController.enableTilt = true
            } else {
                that.tilesetLayer.show = false
                var provider = new that.DC.Namespace.Cesium.WebMapTileServiceImageryProvider({
@@ -281,7 +316,7 @@
                that.viewer.camera.setView({
                    // Cesium的坐标是以地心为原点,一向指向南美洲,一向指向亚洲,一向指向北极州
                    // fromDegrees()方法,将经纬度和高程转换为世界坐标
                    destination: that.DC.Namespace.Cesium.Cartesian3.fromDegrees(116.36618337, 27.95911915, 1000.0),
                    destination: that.DC.Namespace.Cesium.Cartesian3.fromDegrees(114.03928791, 27.62954732, 1000.0),
                    orientation: {
                        // 指向
                        heading: that.DC.Namespace.Cesium.Math.toRadians(0, 0),
@@ -290,6 +325,48 @@
                        roll: 0.0
                    }
                })
                that.viewer.on(that.DC.SceneEventType.CAMERA_CHANGED, (e) => {
                    that.camerAzoom(e)
                })
                // 最小
                that.viewer.scene.screenSpaceCameraController.minimumZoomDistance = 500
                // 最大
                that.viewer.scene.screenSpaceCameraController.maximumZoomDistance = 600000
                // 视角旋转
                that.viewer.scene.screenSpaceCameraController.enableTilt = false
            }
        },
        camerAzoom (e) {
            var that = this
            return (e) => {
                const height = Math.ceil(that.viewer.camera.positionCartographic.height)
                if (height < 100) {
                    that.viewer.camera.setView({
                        destination: that.DC.Namespace.Cesium.Cartesian3.fromRadians(that.viewer.camera.positionCartographic.longitude, that.viewer.camera.positionCartographic.latitude, 100),
                        orientation: {
                            // 指向
                            heading: that.DC.Namespace.Cesium.Math.toRadians(0, 0),
                            // 视角
                            pitch: that.DC.Namespace.Cesium.Math.toRadians(-90),
                            roll: 0.0
                        }
                    })
                };
                if (height > 600000) {
                    that.viewer.camera.setView({
                        destination: that.DC.Namespace.Cesium.Cartesian3.fromRadians(that.viewer.camera.positionCartographic.longitude, that.viewer.camera.positionCartographic.latitude, 600000),
                        orientation: {
                            // 指向
                            heading: that.DC.Namespace.Cesium.Math.toRadians(0, 0),
                            // 视角
                            pitch: that.DC.Namespace.Cesium.Math.toRadians(-90),
                            roll: 0.0
                        }
                    })
                }
            }
        }
    }
src/components/map/components/mapPopup.vue
@@ -432,7 +432,7 @@
        },
        newPopup (item) {
            const position = this.DC.Transform.transformWGS84ToCartesian(new this.DC.Position(Number(item.jd), Number(item.wd), Number(item.gd), Number(item.heading), Number(item.pitch), Number(item.roll)))
            const position = this.DC.Transform.transformWGS84ToCartesian(new this.DC.Position(Number(item.jd), Number(item.wd), Number(item.gd)))
            // eslint-disable-next-line no-unused-vars
            var popup = new this.DC.DivForms(this.viewer, {
                domId: 'divFormsDomBox',
@@ -442,6 +442,7 @@
            })
            this.$store.commit('SET_PANORAMAPOPUP', false)
            this.$store.commit('SET_MONITORPOPUP', false)
            this.$store.commit('SET_DETAILSPOPUP', true)
        }
    }
src/components/map/index.vue
@@ -4,6 +4,22 @@
         style="height: 100%; width: 100%;"
         @click="mapClick($event)">
        <div style="
            position: fixed;
            left: 4px;
            bottom: 4px;
            width: 80px;
            line-height: 24px;
            text-align: center;
            color: #fff;
            font-size: 14px;
            border-radius: 4px;
            background: rgba(0, 0, 0, .9);
            z-index: 11;
        ">
            智慧校园
        </div>
        <dimension />
        <left-nav ref="leftNav"></left-nav>
@@ -21,6 +37,7 @@
</template>
<script>
import axios from 'axios'
import { mapGetters } from 'vuex'
import mapPopup from './components/mapPopup.vue'
import campusBuildingSearch from './components/campusBuildingSearch.vue'
@@ -140,50 +157,6 @@
            that.$store.commit('SET_VIEWER', viewer)
            viewer.on(that.DC.SceneEventType.CAMERA_CHANGED, (e) => {
                const height = Math.ceil(viewer.camera.positionCartographic.height)
                if (height < 100) {
                    viewer.camera.setView({
                        destination: that.DC.Namespace.Cesium.Cartesian3.fromRadians(viewer.camera.positionCartographic.longitude, viewer.camera.positionCartographic.latitude, 100),
                        orientation: {
                            // 指向
                            heading: that.DC.Namespace.Cesium.Math.toRadians(0, 0),
                            // 视角
                            pitch: that.DC.Namespace.Cesium.Math.toRadians(-90),
                            roll: 0.0
                        }
                    })
                };
                if (height > 600000) {
                    viewer.camera.setView({
                        destination: that.DC.Namespace.Cesium.Cartesian3.fromRadians(viewer.camera.positionCartographic.longitude, viewer.camera.positionCartographic.latitude, 600000),
                        orientation: {
                            // 指向
                            heading: that.DC.Namespace.Cesium.Math.toRadians(0, 0),
                            // 视角
                            pitch: that.DC.Namespace.Cesium.Math.toRadians(-90),
                            roll: 0.0
                        }
                    })
                }
            })
            // 最小
            viewer.scene.screenSpaceCameraController.minimumZoomDistance = 500
            // 最大
            viewer.scene.screenSpaceCameraController.maximumZoomDistance = 600000
            // 设置相机缩小时的速率
            viewer.scene.screenSpaceCameraController._minimumZoomRate = 30000
            // 设置相机放大时的速率
            viewer.scene.screenSpaceCameraController._maximumZoomRate = 5906376272000
            // 视角平移
            viewer.scene.screenSpaceCameraController.enableRotate = true
            // 视角缩放
            viewer.scene.screenSpaceCameraController.enableZoom = true
            // 视角旋转
            viewer.scene.screenSpaceCameraController.enableTilt = false
            that.$refs.leftNav.initialize(viewer)
            // const baselayer = that.DC.ImageryLayerFactory.createImageryLayer(that.DC.ImageryType.XYZ, {
@@ -199,7 +172,7 @@
            )
            const arcgisLayer = that.DC.ImageryLayerFactory.createArcGisImageryLayer({
                url: 'http://59.55.128.156:6080/arcgis/rest/services/fzhl/MapServer'
                url: 'http://59.55.128.156:6080/arcgis/rest/services/xiajiangfhgc/MapServer'
            })
            viewer.addBaseLayer(baselayer, {
@@ -208,6 +181,76 @@
            viewer.imageryLayers.addImageryProvider(arcgisLayer)
            const areaLayer = new that.DC.VectorLayer('areaLayer')
            viewer.addLayer(areaLayer)
            axios.get('http://59.55.128.156:6080/arcgis/rest/services/xiajiangfhgc/MapServer/4/query?where=1%3D1&text=&objectIds=&time=&geometry=&geometryType=esriGeometryEnvelope&inSR=&spatialRel=esriSpatialRelIntersects&relationParam=&outFields=*&returnGeometry=true&maxAllowableOffset=&geometryPrecision=&outSR=&returnIdsOnly=false&returnCountOnly=false&orderByFields=&groupByFieldsForStatistics=&outStatistics=&returnZ=false&returnM=false&gdbVersion=&returnDistinctValues=false&returnTrueCurves=false&resultOffset=&resultRecordCount=&f=pjson').then(resultData => {
                resultData.data.features.forEach(item => {
                    item.geometry.rings[0].forEach(it => {
                        it = it.join(',')
                    })
                    item.geometry.rings[0] = item.geometry.rings[0].join(';')
                    const polygon = new that.DC.Polygon(item.geometry.rings[0])
                    polygon.setStyle({
                        material: that.DC.Namespace.Cesium.Color.fromBytes(255, 255, 255, 0)
                    })
                    areaLayer.addOverlay(polygon)
                })
            })
            var select = {
                overlay: undefined,
                color: undefined
            }
            viewer.on(that.DC.MouseEventType.MOUSE_MOVE, e => {
                if (e.overlay != undefined) {
                    if (select.overlay != undefined) {
                        if (e.overlay != select.overlay) {
                            select.overlay.setStyle({
                                material: select.color
                            })
                            select.overlay = undefined
                            select.color = undefined
                        }
                    }
                    if (select.overlay == undefined) {
                        select.overlay = e.overlay
                        select.color = e.overlay._style.material
                        select.overlay.setStyle({
                            material: that.DC.Namespace.Cesium.Color.fromBytes(32, 108, 247, 158)
                        })
                    }
                } else {
                    if (select.overlay != undefined) {
                        select.overlay.setStyle({
                            material: select.color
                        })
                        select.overlay = undefined
                        select.color = undefined
                    }
                }
            })
            viewer.on(that.DC.MouseEventType.CLICK, e => {
                if (e.overlay != undefined) {
                    console.log(e.overlay.attr)
                }
            })
            // viewer.addBaseLayer(baselayer, {
            //     iconUrl: 'examples/images/icon/img.png',
            //     name: '影像'
src/components/orgNavBar/index.vue
@@ -143,7 +143,7 @@
        },
        newPopup (item) {
            const position = this.DC.Transform.transformWGS84ToCartesian(new this.DC.Position(Number(item.longitude), Number(item.latitude), Number(item.alt), Number(item.heading), Number(item.pitch), Number(item.roll)))
            const position = this.DC.Transform.transformWGS84ToCartesian(new this.DC.Position(Number(item.longitude), Number(item.latitude), Number(item.alt)))
            // eslint-disable-next-line no-unused-vars
            var popup = new this.DC.DivForms(this.viewer, {
                domId: 'divFormsDomBox',
@@ -153,6 +153,7 @@
            })
            this.$store.commit('SET_PANORAMAPOPUP', false)
            this.$store.commit('SET_MONITORPOPUP', false)
            this.$store.commit('SET_DETAILSPOPUP', true)
        },
src/components/serviceNavBar/index.vue
@@ -203,7 +203,7 @@
            )
        },
        newPopup (item) {
            const position = this.DC.Transform.transformWGS84ToCartesian(new this.DC.Position(Number(item.jd), Number(item.wd), Number(item.gd), Number(item.heading), Number(item.pitch), Number(item.roll)))
            const position = this.DC.Transform.transformWGS84ToCartesian(new this.DC.Position(Number(item.jd), Number(item.wd), Number(item.gd)))
            // eslint-disable-next-line no-unused-vars
            var popup = new this.DC.DivForms(this.viewer, {
                domId: 'divFormsDomBox',
@@ -213,6 +213,7 @@
            })
            this.$store.commit('SET_PANORAMAPOPUP', false)
            this.$store.commit('SET_MONITORPOPUP', false)
            this.$store.commit('SET_DETAILSPOPUP', true)
        }
    }
src/router/axios.js
@@ -9,8 +9,9 @@
const service = axios.create({
    //   baseURL: 'http://192.168.0.107:83',
    baseURL: 'http://192.168.0.107:80',
    // baseURL: 'http://s16s652780.51mypc.cn/api',
    // baseURL: 'http://192.168.0.107:80',
    // baseURL: 'http://localhost:82',
    baseURL: 'http://s16s652780.51mypc.cn/api',
    timeout: 600000 // request timeout
})