1
mayisheng
2022-08-15 81f54040c2cb65537c6c6e1db8358a39a57dea0d
src/store/modules/mobiles/urlParameter.js
@@ -1,74 +1,109 @@
let urlParameter = {
window.urlParameterLayer = null
window.divIcon = null
const urlParameter = {
    state: {
        urlParameterData: {},
        urlParameterLayer: null, //自定义标签图层
        urlParameterData: {}
        // urlParameterLayer: null // 自定义标签图层
    },
    actions: {
        addurlParameterLayerIcon({
        addurlParameterLayerIcon ({
            state,
            commit,
            dispatch
        }, val) {
            let list = val.list;
            const list = val.list
            if (val.clear) {
                //     state.urlParameterLayer.remove();
                state.urlParameterLayer.clear();
                //     window.urlParameterLayer.remove();
                window.urlParameterLayererLayer.clear()
            }
            for (let i in list) {
                // console.log(list[i], 112233)
                const divIcon = new global.DC.DivIcon(
            for (const i in list) {
                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>
                      `
                );
                divIcon.on(global.DC.MouseEventType.CLICK, (e) => {
                    let lntLat = [+list[i].jd, +list[i].wd]
                    let d = {
                    list[i].name
                )
                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: {},
                        lntLat: lntLat,
                        query: {
                            introduce: '自定义标签',
                            address: '',
                            ...(list[i] || {}),
                            lntLat: lntLat,
                            lntLat: lntLat
                        },
                        useJWD: true, //仅使用经纬度
                    };
                    dispatch("setMobileWindows", d);
                        useJWD: true // 仅使用经纬度
                    }
                    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);
        initurlParameterLayer (state, val) {
            if (!window.urlParameterLayer) {
                window.urlParameterLayer = new global.DC.VectorLayer('urlParameterLayer')
                global.viewer.addLayer(window.urlParameterLayer)
            }
        },
        set_urlParameterData(state, val) {
            state.urlParameterData = val;
        set_urlParameterData (state, val) {
            state.urlParameterData = val
        },
        clearurlParameterLayerIcon(state, val) {
            if (state.urlParameterLayer) {
                state.urlParameterLayer.clear();
        clearurlParameterLayerIcon (state, val) {
            if (window.urlParameterLayer) {
                window.urlParameterLayer.clear()
            }
        },
        }
    }
}
export default urlParameter
export default urlParameter