echarts中國地圖,設置地圖外邊框,內各省界線不同樣式

最近,我在網上查到一種設置內外邊界的方案,首先來說,確實有效,代碼如下:
在這裏插入圖片描述

option = {
    backgroundColor: '#000',//畫布背景顏色
    geo: {
        show: true,
        map: 'china',
        label: {
            show: false
        },
        roam: false,
        itemStyle: {
            normal: {
                areaColor: '#000',
                borderWidth: 4, //設置外層邊框
                borderColor:'#f8911b',
            },
            emphasis: {
                show: false,
                // areaColor: '#01215c'
            }
        }
    },
    series: [
        {
            type: 'map',
            map: 'china',
            label: {
                show: false
            },
            roam: false,
            itemStyle: {
                normal: {
                    areaColor: '#000',
                    borderColor: '#a18a3a',
                    borderWidth: 1
                },
                emphasis: {
                    show: false,
                    areaColor: null
                }
            },
        }
    ]
}

實現原理:
兩個地圖的疊加,
其一,底層地圖設置邊框,即geo中itemStyle.normal屬性(這裏顯示的是中國邊界線的邊框,較寬)
其二,上層地圖再設置邊框,即series中itemStyle.normal屬性(這裏顯示是的各省邊界的邊框,較窄)
首先,上層地圖覆蓋了下層地圖,故各省邊界邊框顯示的是series中設置的邊界樣式,
但又由於下層地圖邊框較寬,上層地圖無法全部覆蓋,所以只剩下中國邊界顯示出來,這樣就實現了中國邊界和各省邊界不同樣式的效果

實現的注意事項:
1,geo中設置map:"china"顯示底圖,series中也設置map:"china"顯示上層地圖。

series中的map:“china” 必不可少,否則無法實現

2,由於放大或移動時,只能操作一個地圖,所以統一禁止地圖縮放,移動。
在geo和series中都設置roam: false即可

參考鏈接 https://blog.csdn.net/qq_36437172/article/details/106099547

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章