最近在项目中使用ECharts时遇见了许多问题,在这里做个记录

在Vue中使用geo时不显示地图

在Vue中使用geo时不显示地图,数据都堆叠在一起,如下图所示:

后查找发现是未引入地图数据,需要在Vue文件中引入地图JSON数据,关键代码如下:

import echarts from 'echarts';import china from 'echarts/map/json/china.json';echarts.registerMap('china', china);

如果是使用TypeScript,需要在tsconfig.json中加入 "resolveJsonModule": true,否则在引入json数据的时候编辑器会提示报错 error TS2732: Cannot find module 'echarts/map/json/china.json'. Consider using '--resolveJsonModule' to import module with '.json' extension

不显示南海诸岛

在使用地图时,大部分情况下南海诸岛都没有数据,这时我们可以控制南海诸岛的隐藏

geo: {  map: 'china',  regions: [    {      name: '南海诸岛',      value: 0,      itemStyle:        {          normal:            {              opacity: 0,              label: {                show: false              }            }        }    }  ],  label: {    emphasis: {      show: false    }  },  itemStyle: {    normal: {      areaColor: '#323c48',      borderColor: '#111'    },    emphasis: {      areaColor: '#2a333d'    }  }}