shuishen
2023-04-05 ab7d016581b7576cec3bf7659c90aa9de74a08a7
src/components/map/index.vue
@@ -2,7 +2,7 @@
 * @Author: shuishen 1109946754@qq.com
 * @Date: 2022-08-18 17:00:30
 * @LastEditors: shuishen 1109946754@qq.com
 * @LastEditTime: 2023-04-05 02:42:41
 * @LastEditTime: 2023-04-05 04:31:12
 * @FilePath: \srs-police-affairs\src\components\map\index.vue
 * @Description: 公用地图组件
 * 
@@ -518,6 +518,16 @@
            that.clearHouse3D()
        })
        this.$EventBus.$on('registerMxClick', (event) => {
            that.registerMxClick(event)
        })
        this.$EventBus.$on('unbindMxClick', (event) => {
            that.unbindMxClick(event)
        })
        // 重写定位方法
        const homeCenter = [117.99311892441567, 28.46938164123123]
        this.$nextTick(() => {
@@ -606,6 +616,11 @@
         * @return {*}
         */
        highOrLightChange (type, status = '') {
            this.$EventBus.$emit('showHouseingTileset', {
                curType: this.tilesetLayerType,
                type,
            })
            label.forEach(item => {
                this.removeMxTileset(`sdTilesetLayer${item}`)
            })
@@ -626,19 +641,6 @@
                    label.forEach(item => {
                        this.addMxTileset(`sdTilesetLayer${item}`, `${tile3DUrl}/sf3d/361102/model/all1/${item}/tileset.json`)
                    })
            }
        },
        /**
         * @description: 社区感知下,模型的点击事件
         * @param {*} e
         * @return {*}
         */
        housingIndent (e) {
            console.log(e, 'housingIndent-map')
            console.log(e, 56666)
            if (this.$route.path == '/layout/house') {
                this.$EventBus.$emit('housingIndent', e)
            }
        },
@@ -1051,13 +1053,15 @@
        addMxTileset (titlesetName, titlesetUrl) {
            if (!tilesetObject[titlesetName]) tilesetObject[titlesetName] = null
            tilesetObject[titlesetName] = new global.DC.Tileset(titlesetUrl, {
                luminanceAtZenith: 0.4,
                // cullWithChildrenBounds: false,
                // cullRequestsWhileMoving: false,
                // skipLevelOfDetail: false,
                shadows: global.DC.Namespace.Cesium.ShadowMode.DISABLED
            })
            if (this.$route)
                tilesetObject[titlesetName] = new global.DC.Tileset(titlesetUrl, {
                    luminanceAtZenith: 0.4,
                    // cullWithChildrenBounds: false,
                    // cullRequestsWhileMoving: false,
                    // skipLevelOfDetail: false,
                    shadows: global.DC.Namespace.Cesium.ShadowMode.DISABLED
                })
            tilesetObject[titlesetName].setHeight(-72)
@@ -1147,19 +1151,21 @@
        clearHouse3D () {
            floorEntitysLayers.clear()
        },
    },
    watch: {
        $route: {
            handler (route) {
                if (route.path.indexOf('/layout/house') != -1) {
                    tilesetLayer && tilesetLayer.off(global.DC.MouseEventType.CLICK, this.housingIndent)
                    tilesetLayer && tilesetLayer.on(global.DC.MouseEventType.CLICK, this.housingIndent)
                } else {
                    tilesetLayer && tilesetLayer.off(global.DC.MouseEventType.CLICK, this.housingIndent)
        registerMxClick (event) {
            label.forEach(item => {
                if (tilesetObject[`sdTilesetLayer${item}`] && tilesetObject[`sdTilesetLayer${item}`] != null) {
                    tilesetObject[`sdTilesetLayer${item}`].on(global.DC.MouseEventType.CLICK, event)
                }
            },
            immediate: true
            })
        },
        unbindMxClick (event) {
            label.forEach(item => {
                if (tilesetObject[`sdTilesetLayer${item}`] && tilesetObject[`sdTilesetLayer${item}`] != null) {
                    tilesetObject[`sdTilesetLayer${item}`].off(global.DC.MouseEventType.CLICK, event)
                }
            })
        }
    }
}