- 先来截图看看效果



- 首先我是在html中实现的,vue中同理
- 这是完整代码
- 里面用到两个文件,一个echarts.js,可以自行从网上下载,也可以联系我要,另一个是map.js,是我自己编写的js文件,里面存放地图相关的json经纬度数据,数据格式我在下面截图展示了,至于数据来源,可以从datav.aliyun.com/portal/scho… 网站里搜索并且粘贴,不会用的也可以联系我
- 我是从网上复制了经纬度数据,然后在map.js里粘贴,这是一种省事,但是比较笨的办法,也可以直接下载对应的json文件,比如河北.json,然后放入项目本地,在页面中引入,然后直接使用文件,就不用复制那么多数据了,至于怎么使用json文件,请自行百度
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<script src="./echarts.js"></script>
<script src="./map.js"></script>
<style>
.topDiv {
width: 100%;
height: 100%;
display: flex;
}
.halfDiv {
width: 50%;
height: 400px;
}
</style>
<body>
<div class="topDiv">
<div class="halfDiv" id="a1"></div>
<div class="halfDiv" id="a2"></div>
</div>
中国地图
<div id="map0" style="width: 100%;height: 400px;"></div>
<div class="topDiv">
河北省,这是不包含子区域的
<div class="halfDiv" id="map4"></div>
河北省,这是包含子区域的
<div class="halfDiv" id="map1"></div>
</div>
<div class="topDiv">
唐山市,这是不包含子区域的
<div class="halfDiv" id="map2"></div>
唐山市,这是包含子区域的
<div class="halfDiv" id="map3"></div>
</div>
</body>
<script>
var a1 = echarts.init(document.getElementById('a1'));
var option = {
title: {
text: 'ECharts 入门示例'
},
tooltip: {},
xAxis: {
data: ['衬衫', '羊毛衫', '雪纺衫', '裤子', '高跟鞋', '袜子']
},
yAxis: {
interval: 15
},
series: [
{
name: '销量',
type: 'bar',
data: [60, 20, 36, 50, 35, 50]
}
]
};
a1.setOption(option);
function randomData(param) {
return Math.round(Math.random() * 500);
}
function showMap0() {
var myChart = echarts.init(document.getElementById('map0'));
var option = {
title: {
text: '各省份的总成交量对比',
textStyle: { color: 'red' },
x: 'left'
},
tooltip: {
formatter: function (e) {
console.log(e);
var name = e.name ? e.name : '获取中';
var value = e.value ? e.value : '暂无数据'
return name + ":" + value;
}
},
visualMap: {
show: false,
x: 'left',
y: 'bottom',
splitList: [
{ start: 500, end: 600 }, { start: 400, end: 500 },
{ start: 300, end: 400 }, { start: 200, end: 300 },
{ start: 100, end: 200 }, { start: 0, end: 100 },
],
color: ['#5bc2e7', '#6980c5', '#70dfdf', '#f7f1ee', '#3390FF']
},
series: [{
type: 'map',
mapType: 'china',
roam: true,
zoom: 1.5,
label: {
normal: {
show: true
},
emphasis: {
show: true
}
},
data: [
{ name: '北京市', value: 666 }, { name: '天津市', value: randomData() },
{ name: '上海市', value: randomData() }, { name: '重庆市', value: randomData() },
{ name: '河北省', value: randomData() }, { name: '河南省', value: randomData() },
{ name: '云南省', value: randomData() }, { name: '辽宁省', value: randomData() },
{ name: '黑龙江省', value: randomData() }, { name: '湖南省', value: randomData() },
{ name: '安徽省', value: randomData() }, { name: '山东省', value: randomData() },
{ name: '新疆维吾尔自治区', value: randomData() }, { name: '江苏省', value: randomData() },
{ name: '浙江省', value: randomData() }, { name: '江西省', value: randomData() },
{ name: '湖北省', value: randomData() }, { name: '广西壮族自治区', value: randomData() },
{ name: '甘肃省', value: randomData() }, { name: '山西省', value: randomData() },
{ name: '内蒙古自治区', value: randomData() }, { name: '陕西省', value: randomData() },
{ name: '吉林省', value: randomData() }, { name: '福建省', value: randomData() },
{ name: '贵州省', value: randomData() }, { name: '广东省', value: randomData() },
{ name: '青海省', value: randomData() }, { name: '西藏自治区', value: randomData() },
{ name: '四川省', value: randomData() }, { name: '宁夏回族自治区', value: randomData() },
{ name: '海南省', value: randomData() }, { name: '台湾省', value: randomData() },
{ name: '香港特别行政区', value: randomData() }, { name: '澳门特别行政区', value: randomData() }
]
}]
};
myChart.setOption(option);
}
echarts.registerMap('china', mapData.china);
showMap0()
function showMap4() {
var myChart = echarts.init(document.getElementById('map4'));
var option = {
tooltip: {
backgroundColor: "#ff7f50",
textStyle: { color: "#fff" },
formatter: function (params) {
let tipHtml = ''
tipHtml = '<div style="color: #fff;padding: 10px;">'
+ '<div>' + params.name + '</div>'
+ '<div>数量:' + (params.value ? params.value : 0) + '个</div>'
+ '</div>';
return tipHtml;
}
},
series: [{
type: 'map',
mapType: 'hebei',
label: {
normal: {
show: true,
textStyle: { color: "#c71585" }
},
emphasis: {
show: true,
textStyle: { color: "#800080" }
}
},
itemStyle: {
normal: {
borderWidth: .5,
borderColor: '#009fe8',
areaColor: "#ffefd5",
},
emphasis: {
borderWidth: .5,
borderColor: '#4b0082',
areaColor: "#f47920",
}
},
data: [
]
}],
};
myChart.setOption(option);
}
echarts.registerMap('hebei', mapData.hebei1);
showMap4()
function showMap() {
var myChart = echarts.init(document.getElementById('map1'));
var option = {
tooltip: {
backgroundColor: "#ff7f50",
textStyle: { color: "#fff" },
formatter: function (params) {
let tipHtml = ''
tipHtml = '<div style="color: #fff;padding: 10px;">'
+ '<div>' + params.name + '</div>'
+ '<div>数量:' + (params.value ? params.value : 0) + '个</div>'
+ '</div>';
return tipHtml;
}
},
series: [{
type: 'map',
mapType: 'hebei',
label: {
normal: {
show: true,
textStyle: { color: "#c71585" }
},
emphasis: {
show: true,
textStyle: { color: "#800080" }
}
},
itemStyle: {
normal: {
borderWidth: .5,
borderColor: '#009fe8',
areaColor: "#ffefd5",
},
emphasis: {
borderWidth: .5,
borderColor: '#4b0082',
areaColor: "#f47920",
}
},
data: [
{ name: '唐山市', selected: true, value: '6666' },
]
}],
};
myChart.setOption(option);
}
echarts.registerMap('hebei', mapData.hebei);
showMap()
function showMap1() {
var myChart = echarts.init(document.getElementById('map2'));
var option = {
tooltip: {
backgroundColor: "#ff7f50",
textStyle: { color: "#fff" },
formatter: function (params) {
let tipHtml = ''
tipHtml = '<div style="color: #fff;padding: 10px;">'
+ '<div>' + params.name + '</div>'
+ '<div>数量:' + (params.value ? params.value : 0) + '个</div>'
+ '</div>';
return tipHtml;
}
},
series: [{
type: 'map',
mapType: 'tangshan',
label: {
normal: {
show: true,
textStyle: { color: "#c71585" }
},
emphasis: {
show: true,
textStyle: { color: "#800080" }
}
},
itemStyle: {
normal: {
borderWidth: .5,
borderColor: '#009fe8',
areaColor: "#ffefd5",
},
emphasis: {
borderWidth: .5,
borderColor: '#4b0082',
areaColor: "#f47920",
}
},
data: [
]
}],
};
myChart.setOption(option);
}
echarts.registerMap('tangshan', mapData.tangshan);
showMap1()
function showMap2() {
var myChart = echarts.init(document.getElementById('map3'));
var option = {
tooltip: {
backgroundColor: "#ff7f50",
textStyle: { color: "#fff" },
formatter: function (params) {
let tipHtml = ''
tipHtml = '<div style="color: #fff;padding: 10px;">'
+ '<div>' + params.name + '</div>'
+ '<div>数量:' + (params.value ? params.value : 0) + '个</div>'
+ '</div>';
return tipHtml;
}
},
series: [{
type: 'map',
mapType: 'tangshan',
label: {
normal: {
show: true,
textStyle: { color: "#c71585" }
},
emphasis: {
show: true,
textStyle: { color: "#800080" }
}
},
itemStyle: {
normal: {
borderWidth: .5,
borderColor: '#009fe8',
areaColor: "#ffefd5",
},
emphasis: {
borderWidth: .5,
borderColor: '#4b0082',
areaColor: "#f47920",
}
},
data: [
{ name: '玉田县', selected: true, value: '6666' },
]
}],
};
myChart.setOption(option);
}
echarts.registerMap('tangshan', mapData.tangshan1);
showMap2()
</script>
</html>


