有时候我们希望给地图外围加一圈边框来增加美感
但实际情况中,我们需要把国界的边框和各个省份属于国界的边框相吻合,否则就会造成两者看起来是错位的感觉
这就需要我们把echarts registerMap的全国省份json和国界边框json的坐标相一致。
这个json我们可以去datav官方下载:https://datav.aliyun.com/portal/school/atlas/area_selector
分别下载包含子区域和 不包含子区域的就可以了。
然后我们的地图展示用china命名,国界边框展示用chinaOutline命名即可。
echarts.registerMap('china', 。。。。。。。。。。。。。。。。
echarts.registerMap('chinaOutline', 。。。。。。。。。。。。。。。。。。
在series内创建两个type为map的项
series: [{type: 'map',map: 'chinaOutline',aspectScale: 0.85,zoom: 1.2,top: '9%',left: '11%',roam: false,label: {show: false},itemStyle: {// 颜色阴影等根据实际需要来设置areaColor: 'rgba(0,255,255,.02)',borderColor: '#b2fcff',borderWidth: 10,shadowColor: 'transparent',shadowOffsetX: 0,shadowOffsetY: 4,shadowBlur: 10,},tooltip: {show: false},zlevel: 1},{type: 'map',map: 'china',aspectScale: 0.85,zoom: 1.2,top: '9%',left: '11%',roam: false,selectedMode: 'multiple',tooltip: {//。。。。。。。。。。。。},label: {show: true,color: '#FFF',fontSize: 25,},itemStyle: {//。。。。。。。。。。。},emphasis: {// 。。。。。。。。。。。},select: {// 。。。。。。。。。。。},zlevel: 2,data: []},
]
只要两个的位置,缩放大小一样,页面上就不会有错位的问题了。
而且省份的边界正好处于边框的中心位置,看起来也很舒服。