一、安装echarts
在项目文件夹下的终端中,输入以下代码安装echarts
npm install echarts --save
二、获取中国地图的json数据包
访问阿里云可视化平台,下载中国地图的json包
另存为项目源码文件夹中,记住文件路径
三、在vue组件中导入echarts和地图json包
在组件的js代码中添加以下代码
import * as echarts from "echarts";
import china from "@/assets/china.json"; // 引入中国地图数据
四、注册echarts的Dom标签,实例使用echarts的地图标签
1、通过以下代码,标记div的dom标签,获取响应式的数据
<div class="chart-container">
<div ref="chartDom" class="chart"></div>
</div>
2、在生命周期钩子函数中注册和设置echarts的配置
通过registerMap注册地图后,在option中使用type:map 和map:名称配置达成效果
你也可以直接访问Echarts的官网中查看有关地图的相关配置,给你的地图添加更多的自定义的效果
import { ref, onMounted } from 'vue';
import * as echarts from 'echarts';
import geoJson from '../static/china.json'; // 直接导入 JSON 文件
const chartDom = ref(null);
onMounted(() => {
const chart = echarts.init(chartDom.value);
// 直接使用 geoJson 数据,不需要等待 axios 请求
echarts.registerMap('china', geoJson);
const option = {
series: [{
type: 'map',
map: 'china',
zoom: 1.2,
layoutCenter: ['50%', '60%'],
layoutSize: '95%',
data: [
{name: '北京', value: 1696.6},
{name: '上海', value: 1623.9},
{name: '广东', value: 1104.0},
{name: '四川', value: 1461.3},
{name: '天津', value: 1407.8},
{name: '江苏', value: 1082.5}
],
itemStyle: {
areaColor: '#f0f9ff',
borderColor: 'rgba(24,144,255,0.4)',
borderWidth: 1.5,
shadowColor: 'rgba(0,0,0,0.1)',
shadowBlur: 2,
shadowOffsetY: 2
},
emphasis: {
itemStyle: {
areaColor: 'rgba(64,169,255,0.4)',
borderColor: 'rgba(255,255,255,0.8)',
borderWidth: 2
}
}
}]
};
chart.setOption(option);
});
最好添加一些的style就可以让你的地图更美观了