新建工程
- 新建工程:
vue create project-name
- 自选配置:一般自选Manually select features,即手动选择配置
- 后续的配置选完之后,等待一会
- 安装完成后
npm run serve
启动查看
安装echarts
- 安装echarts:
npm install echarts --save
安装vue-resource(如果没有)
- 安装vue-resource,用于获取数据:
npm install vue-resource
安装jsonp
- 安装jsonp:
npm install jsonp --save
地图准备
- 配置好路由开始编写地图
- 根据echarts的文档和vue的相关语法,编写地图,最后将数据传入option中去
<template>
<div>
<div id="mychart1" style="width: 600px;height:500px;">展示地图的地方</div>
</div>
</template>
<script>
import echarts from "echarts";
import "echarts/map/js/china";
import jsonp from "jsonp";
let option = {
title: {
text: "实时xx地图",
x: "center",
textStyle: {
color: "#9c0505",
},
},
tooltip: {
trigger: "item",
formatter: "地区:{b}<br/>确诊:{c}",
},
series: [
{
type: "map",
map: "china",
data: [],
label: {
show: true,
color: "red",
fontSize: 10,
},
zoom: 1.3,
itemStyle: {
borderColor: "blue",
},
emphasis: {
label: {
color: "#055",
fontSize: 12,
},
itemStyle: {
areaColor: "yellow",
},
},
},
],
visualMap: {
type: "piecewise",
show: true,
pieces: [
{ min: 10000 },
{ min: 1000, max: 9999 },
{ min: 100, max: 999 },
{ min: 10, max: 99 },
{ min: 1, max: 9 },
{ value: 0 },
],
inRange: {
color: ["#FFF4DF", "#ffaa85","#AD0018","#570006"],
},
itemWidth: 10,
itemHeight: 10,
},
toolbox: {
show: false,
orient: "horizontal",
left: "right",
top: "top",
feature: {
dataView: { readOnly: false },
restore: {},
saveAsImage: {},
},
},
};
export default {
data() {
return {
myChart: "",
};
},
mounted() {
this.getData();
this.myChart = echarts.init(document.getElementById("mychart1"));
this.myChart.setOption(option);
},
methods: {
getData() {
jsonp(
"https://interface.sina.cn/news/wap/fymap2020_data.d.json?_=1585397547299",
(err, data) => {
var lists = data.data.list.map((item) => {
return { name: item.name, value: item.value };
});
console.log(lists);
option.series[0].data = lists;
this.myChart.setOption(option);
}
);
},
},
};
</script>
<style scoped></style>
数据准备
- https://interface.sina.cn/news/wap/fymap2020_data.d.json?_=1585397547299
- 数据分析如下,继续分析可得这个api还包含省内地级市数据,可以得知获取方法就是data.list.city.xxx,再利用正则匹配即可获取市级数据,可做xx省的xx地图
最终效果