最近在用echarts做3D地图的效果展示,遇到一个小问题:
使用阿里的全国数据无法正常显示省份
阿里全国json数据地址:https://geo.datav.aliyun.com/areas_v3/bound/100000_full.json
找了很久,后面试了单个省份发现可以正常显示,排除数据格式问题。
设置label的formatter后可以正常显示
label: {
// 标签
show: true,
distance: 10, // 标签距离图形的距离
formatter: (params) => {
// console.log(params)
return params.data.name ? params.data.name : ' '
},
textStyle: {
color: '#fff', //文字颜色
fontSize: 12, //文字大小
fontFamily: 'sans-serif', //文字字体
fontWeight: 400, //文字粗细
borderWidth: 0, //文字的描边宽度
borderColor: '#fff' //文字的描边颜色
},
}
到这一步,可以确定是 name值的问题了,在控制台打印出来可以发现有一个数据的name为空,也就是南海边界线的数据对象
在json数据中对应的是最后一条点位模块:
可以将下载下来的json数据这一条数据删掉,也可以为这条数据添加一个值,比较建议的做法是如上方示例那样用formatter去做区分即可(注意formatter不可返回为''的空字符串,只是包含一个长度,可以是空格)。
到此,问题找到并解决