liuyg
2022-03-31 f3e4a728bca47d424fb3f9f0e2ef438cec58a2e3
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)