1
mayisheng
2022-08-15 81f54040c2cb65537c6c6e1db8358a39a57dea0d
src/store/modules/mobiles/urlParameter.js
@@ -1,7 +1,10 @@
window.urlParameterLayer = null
window.divIcon = null
const urlParameter = {
    state: {
        urlParameterData: {},
        urlParameterLayer: null // 自定义标签图层
        urlParameterData: {}
        // urlParameterLayer: null // 自定义标签图层
    },
    actions: {
        addurlParameterLayerIcon ({
@@ -11,29 +14,39 @@
        }, val) {
            const list = val.list
            if (val.clear) {
                //     state.urlParameterLayer.remove();
                state.urlParameterLayer.clear()
                //     window.urlParameterLayer.remove();
                window.urlParameterLayererLayer.clear()
            }
            for (const i in list) {
                // console.log(list[i], 112233)
                const divIcon = new global.DC.DivIcon(
                const billboard = new global.DC.Billboard(new global.DC.Position(
                    Number(list[i].jd),
                    Number(list[i].wd),
                    0
                ), '/img/icon/m-t.png')
                const label = new global.DC.Label(
                    new global.DC.Position(
                        Number(list[i].jd),
                        Number(list[i].wd),
                        0
                    ),
                    `
                          <div class="tag-entitys-box">
                              <div class="tag-content">
                                  ${list[i].name}
                              </div>
                              <div class="tag-angle-content">
                                  <img src="https://map.hit.edu.cn/images/tarrow_xq.png">
                              </div>
                          </div>
                      `
                    list[i].name
                )
                divIcon.on(global.DC.MouseEventType.CLICK, (e) => {
                label.setStyle({
                    fillColor: global.DC.Color.RED,
                    style: global.DC.Namespace.Cesium.LabelStyle.FILL_AND_OUTLINE,
                    outlineColor: global.DC.Color.WHITE, // 边框颜色
                    outlineWidth: 8, // 边框大小,
                    font: '12px sans-serif',
                    pixelOffset: { x: 0, y: -24 }
                })
                billboard.on(global.DC.MouseEventType.CLICK, (e) => {
                    if (state.pinchFlag == true) {
                        return
                    }
                    const lntLat = [+list[i].jd, +list[i].wd]
                    const d = {
                        position: {},
@@ -48,15 +61,37 @@
                    }
                    dispatch('setMobileWindows', d)
                })
                state.urlParameterLayer.addOverlay(divIcon)
                label.on(global.DC.MouseEventType.CLICK, (e) => {
                    if (state.pinchFlag == true) {
                        return
                    }
                    const lntLat = [+list[i].jd, +list[i].wd]
                    const d = {
                        position: {},
                        lntLat: lntLat,
                        query: {
                            introduce: '自定义标签',
                            address: '',
                            ...(list[i] || {}),
                            lntLat: lntLat
                        },
                        useJWD: true // 仅使用经纬度
                    }
                    dispatch('setMobileWindows', d)
                })
                window.urlParameterLayer.addOverlay(billboard) // 加入图标
                window.urlParameterLayer.addOverlay(label)
            }
        }
    },
    mutations: {
        initurlParameterLayer (state, val) {
            if (!state.urlParameterLayer) {
                state.urlParameterLayer = new global.DC.HtmlLayer('urlParameterLayer')
                state.mviewer.addLayer(state.urlParameterLayer)
            if (!window.urlParameterLayer) {
                window.urlParameterLayer = new global.DC.VectorLayer('urlParameterLayer')
                global.viewer.addLayer(window.urlParameterLayer)
            }
        },
        set_urlParameterData (state, val) {
@@ -64,8 +99,8 @@
        },
        clearurlParameterLayerIcon (state, val) {
            if (state.urlParameterLayer) {
                state.urlParameterLayer.clear()
            if (window.urlParameterLayer) {
                window.urlParameterLayer.clear()
            }
        }
    }