<html>
<head>
<!-- 页面meta -->
<meta charset="utf-8">
<!-- 引入js -->
<script type="text/javascript" src="js/echarts.min.js"></script>
<script type="text/javascript" src="js/jquery.js"></script>
</head>
<body>
<div>
<div>
<!-- 设置一个区域 用来存放我们的地图-->
<div class="box">
<div id="main" style="width: 100%;height:100%;"></div>
</div>
</div>
</div>
</body>
<script>
//获取到需要添加地图的位置
var myChart = echarts.init(document.getElementById('main'));
//1.中国地图
var chinaMap = "json/中国地图.json";
//2.台湾省地图
var taiWanMap = "json/台湾省.json";
//3.海南省地图
var haiNanMap = "json/海南省.json";
//4.安徽省地图
var anHuiMap = "json/安徽省.json";
//5.江西省地图
var jiangXiMap = "json/江西省.json";
//6.湖南省地图
var huNanMap = "json/湖南省.json";
//7.云南省地图
var yunNanMap = "json/云南省.json";
//8.贵州省地图
var guiZhouMap = "json/贵州省.json";
//9.广东省地图
var guangDongMap = "json/广东省.json";
//10.福建省地图
var fuJianMap = "json/福建省.json";
//11.浙江省地图
var zheJiangMap = "json/浙江省.json";
//12.江苏省地图
var jiangSuMap = "json/江苏省.json";
//13.四川省地图
var siChuanMap = "json/四川省.json";
//14.重庆市市地图
var chongQingMap = "json/重庆市.json";
//15.湖北省地图
var huBeiMap = "json/湖北省.json";
//16.河南省地图
var heNanMap = "json/河南省.json";
//17.山东省地图
var shanDongMap = "json/山东省.json";
//18.吉林省地图
var jiLinMap = "json/吉林省.json";
//19.辽宁省地图
var liaoNingMap = "json/辽宁省.json";
//20.天津市市地图
var tianJinMap = "json/天津市.json";
//21.北京市市地图
var beiJingMap = "json/北京市.json";
//22.河北省地图
var heBeiMap = "json/河北省.json";
//23.山西省地图
var shanXiMap = "json/山西省.json";
//24.陕西省地图
var shanXi2Map = "json/陕西省.json";
//25.宁夏回族自治区省地图
var ningXiaMap = "json/宁夏回族自治区.json";
//26.青海省地图
var qingHaiMap = "json/青海省.json";
//27.西藏自治区地图
var xiZangMap = "json/西藏自治区.json";
//28.黑龙江省地图
var heiLongJiangMap = "json/黑龙江省.json";
//29.内蒙古自治区地图
var neimengGuMap = "json/内蒙古自治区.json";
//30.甘肃省地图
var ganSuMap = "json/甘肃省.json";
//31.新疆维吾尔自治区省地图
var xinJiangMap = "json/新疆维吾尔自治区.json";
//32.广西壮族自治区地图
var guangxiMap = "json/广西壮族自治区.json";
//设置初始地图
var mapname = chinaMap;
//设置省份的json 这里注意名字要和中国地图上的名字一致
var mapJson = [
{
name: "台湾省",
json: taiWanMap,
},
{
name: "海南省",
json: haiNanMap,
},
{
name: "安徽省",
json: anHuiMap,
},
{
name: "江西省",
json: jiangXiMap,
},
{
name: "湖南省",
json: huNanMap,
},
{
name: "云南省",
json: yunNanMap,
},
{
name: "贵州省",
json: guiZhouMap,
},
{
name: "广东省",
json: guangDongMap,
},
{
name: "福建省",
json: fuJianMap,
},
{
name: "浙江省",
json: zheJiangMap,
},
{
name: "江苏省",
json: jiangSuMap,
},
{
name: "四川省",
json: siChuanMap,
},
{
name: "重庆市",
json: chongQingMap,
},
{
name: "湖北省",
json: huBeiMap,
},
{
name: "河南省",
json: heNanMap,
},
{
name: "山东省",
json: shanDongMap,
},
{
name: "吉林省",
json: jiLinMap,
},
{
name: "辽宁省",
json: liaoNingMap,
},
{
name: "天津市",
json: tianJinMap,
},
{
name: "北京市",
json: beiJingMap,
},
{
name: "河北省",
json: heBeiMap,
},
{
name: "山西省",
json: shanXiMap,
},
{
name: "陕西省",
json: shanXi2Map,
},
{
name: "宁夏回族自治区",
json: ningXiaMap,
},
{
name: "青海省",
json: qingHaiMap,
},
{
name: "西藏自治区",
json: xiZangMap,
},
{
name: "黑龙江省",
json: heiLongJiangMap,
},
{
name: "内蒙古自治区",
json: neimengGuMap,
},
{
name: "甘肃省",
json: ganSuMap,
},
{
name: "新疆维吾尔自治区",
json: xinJiangMap,
},
{
name: "广西壮族自治区",
json: guangxiMap,
},
];
var provinceData = {
'台湾省': Math.random() * 100,
'海南省': Math.random() * 100,
'安徽省': Math.random() * 100,
'江西省': Math.random() * 100,
'湖南省': Math.random() * 100,
'云南省': Math.random() * 100,
'贵州省': Math.random() * 100,
'广东省': Math.random() * 100,
'福建省': Math.random() * 100,
'浙江省': Math.random() * 100,
'江苏省': Math.random() * 100,
'四川省': Math.random() * 100,
'重庆市': Math.random() * 100,
'湖北省': Math.random() * 100,
'河南省': Math.random() * 100,
'山东省': Math.random() * 100,
'吉林省': Math.random() * 100,
'辽宁省': Math.random() * 100,
'天津市': Math.random() * 100,
'北京市': Math.random() * 100,
'河北省': Math.random() * 100,
'山西省': Math.random() * 100,
'陕西省': Math.random() * 100,
'宁夏回族自治区': Math.random() * 100,
'青海省': Math.random() * 100,
'西藏自治区': Math.random() * 100,
'黑龙江省': Math.random() * 100,
'内蒙古自治区': Math.random() * 100,
'甘肃省': Math.random() * 100,
'新疆维吾尔自治区': Math.random() * 100,
'广西壮族自治区': Math.random() * 100,
};
var citydata = {
'巴中市': 32,
'达州市': 22,
'广元市': 10
}
//加载时的文字提示
myChart.showLoading({ text: '正在加载数据' }); //增加等待提示
//点击事件
myChart.on('click', function (e) {
var clickedName = e.name;
var clickedMap = mapJson.find(item => item.name === clickedName);
if (clickedMap) {
mapname = clickedMap.json;
mapInit();
}
//添加一个返回按键
$('<div class="back"><button type="button">返回</button></div>').appendTo($('#main'));
//给返回按键设置样式
$('.back').css({
position: 'absolute',//绝对地位
left: '20px',//设置位置
top: '20px',//设置位置
color: 'pink',//设置字体颜色
'font-size': '20px',//设置字体大小
cursor: 'pointer',//变小手
});
//设置返回按钮的点击事件
$('.back').click(function () {
//地图重新设置为中国地图
mapname = chinaMap;
//隐藏按钮
$('.back').css({
opacity: 0,
});
//绘制地图
mapInit();
//重新开始定时播放
timer = setInterval(function () {
//调用定时播放代码
timing()
}, 1500);
});
});
//设置初始化时间
setTimeout(function () {
mapInit();
}, 500);
//创建地图
var mapInit = () => {
//调用中国地图(同步)
$.getJSON(mapname, function (geoJson) {
//调用我们通过json对象注册的地图
echarts.registerMap('China', geoJson);
//文件加载的动画
myChart.hideLoading();
if (mapname === chinaMap) {
//地图开始
option = {
//设置背景颜色
backgroundColor: 'white',
series: [{
name: '数据',
type: 'map',
map: 'China',
data: Object.keys(provinceData).map(function (key) {
return {
name: key,
value: provinceData[key],
};
}),
label: {
show: false,
},
emphasis: {
label: {
show: true,
},
},
}],
tooltip: {
trigger: 'item',
formatter: '{b}<br/>{c} (种菌菇)'
},
visualMap: {
min: 10,
max: 100,
text: ['High', 'Low'],
realtime: false,
calculable: true,
inRange: {
color: ['orange', 'purple', 'red']
}
},
};
}else{
option = {
//设置背景颜色
backgroundColor: 'white',
series: [{
name: '数据',
type: 'map',
map: 'China',
data: Object.keys(citydata).map(function (key) {
return {
name: key,
value: citydata[key],
};
}),
label: {
show: false,
},
emphasis: {
label: {
show: true,
},
},
}],
tooltip: {
trigger: 'item',
formatter: '{b}<br/>{c} (种菌菇)'
},
visualMap: {
min: 10,
max: 100,
text: ['High', 'Low'],
realtime: false,
calculable: true,
inRange: {
color: ['orange', 'purple', 'red']
}
},
};
};
myChart.setOption(option);
});
};
</script>
</html>
echarts实现全国地图和省份的切换跳转
最新推荐文章于 2024-07-05 16:40:59 发布