shuishen
2022-07-21 58060e64e1fa9cf3ffcf5e29f09c4c2edf8f2126
src/components/orgNavBar/index.vue
@@ -64,10 +64,22 @@
                    global.viewer.addLayer(currentOrgLayer)
                    newData.forEach((item, index) => {
                        let obj = {}
                        if (item.x && item.x != '') {
                            const position = this.coordinate(item.x)
                            obj = {
                                lng: position.lng, lat: position.lat
                            }
                        } else {
                            obj = {
                                lng: item.longitude, lat: item.latitude
                            }
                        }
                        let divIcon = null
                        if (this.twoOrThree == '三 维') {
                            divIcon = new global.DC.DivIcon(
                                new global.DC.Position(Number(item.longitude), Number(item.latitude), 0),
                                new global.DC.Position(Number(obj.lng), Number(obj.lat), 0),
                                `
                                <div class="tag-entitys-box">
                                    <div class="tag-content">
@@ -97,6 +109,8 @@
                        divIcon.attr.name = item.navTitle
                        divIcon.attr.params = item
                        currentOrgLayer.addOverlay(divIcon)
                    })
                } else {
@@ -110,7 +124,8 @@
                if (newData == '三 维') {
                    if (currentOrgLayer != null) {
                        currentOrgLayer.eachOverlay((item) => {
                            item.position = new global.DC.Position(Number(item.position.lng), Number(item.position.lat), 0)
                            const position = this.coordinate(item.attr.params.x)
                            item.position = new global.DC.Position(Number(position.lng), Number(position.lat), 0)
                        })
                    }
                } else {
@@ -125,6 +140,15 @@
        }
    },
    methods: {
        coordinate (item) {
            const arr = item.split(',')
            return {
                lng: arr[0],
                lat: arr[1]
            }
        },
        removeLayer () {
            if (currentOrgLayer != null) {
                global.viewer.removeLayer(currentOrgLayer)
@@ -206,15 +230,30 @@
            this.$store.commit('SET_MONITORPOPUP', false)
            this.removeLayer()
        },
        flickerStart (param, name) {
            const layerIcon = currentOrgLayer.getOverlaysByAttr('name', name)
            currentOrgLayer.removeOverlay(layerIcon[0])
            let divIcon = null
            let obj = {}
            if (param.x && param.x != '') {
                const position = this.coordinate(param.x)
                obj = {
                    lng: position.lng, lat: position.lat
                }
            } else {
                obj = {
                    lng: param.longitude, lat: param.latitude
                }
            }
            if (this.twoOrThree == '三 维') {
                divIcon = new global.DC.DivIcon(
                    new global.DC.Position(Number(param.longitude), Number(param.latitude), 0),
                    new global.DC.Position(Number(obj.lng), Number(obj.lat), 0),
                    `
                                <div class="tag-entitys-box layer-entity-animation">
                                    <div class="tag-content">
@@ -246,15 +285,29 @@
            currentOrgLayer.addOverlay(divIcon)
        },
        flickerEnd (param, name) {
            const layerIcon = currentOrgLayer.getOverlaysByAttr('name', name)
            currentOrgLayer.removeOverlay(layerIcon[0])
            let divIcon = null
            let obj = {}
            if (param.x && param.x != '') {
                const position = this.coordinate(param.x)
                obj = {
                    lng: position.lng, lat: position.lat
                }
            } else {
                obj = {
                    lng: param.longitude, lat: param.latitude
                }
            }
            if (this.twoOrThree == '三 维') {
                divIcon = new global.DC.DivIcon(
                    new global.DC.Position(Number(param.longitude), Number(param.latitude), 0),
                    new global.DC.Position(Number(obj.lng), Number(obj.lat), 0),
                    `
                                <div class="tag-entitys-box">
                                    <div class="tag-content">