echarts,map中国地图点击各省,跳转展示,从省返回到中国地图【china.js】

article/2025/8/18 17:54:57

效果图:
1.点击省,跳转到河北省
2.返回,从省返回到中国地图
在这里插入图片描述
在这里插入图片描述
话不多说,直接上代码,1.复制粘贴,2.在引入对应js即可
注:全部各省地图,下载地址:**

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Title</title><style>.echart {width: 500px;height: 500px;}</style><style>.backBtn{display: none;background: #cccccc;cursor: pointer;}.backBtn.active{display: inline-block;}</style>
</head>
<body>
<div class="backBtn" id="backBtn">返回中国地图</div>
<div class="echart" id="worldMap"></div>
<script src="../jquery.min.js" charset="utf-8"></script>
<script src="../echarts.js"></script>
<script src="china.js"></script>
<script>var mapData = [ //自己做的模拟数据 后续根据业务展示{name: '湖北', value: 88},{name: '广东', value: 24},{name: '上海', value: 5},{name: '山东', value: 15},{name: '湖南', value: 14},{name: '重庆', value: 0},{name: '四川', value: 65},{name: '新疆', value: 36},{name: '黑龙江', value: 12},{name: '西藏', value: 68},{name: '青海', value: 31},{name: '内蒙古', value: 28},{name: '陕西', value: 12},{name: '辽宁', value: 88},{name: '云南', value: 23},]// var provinceData = [  //省份公司的数据//   {name: '新疆', value: 23, children: ['福田', '南山', '龙华']},//   {name: '河北', value: 23, children: ['衡水', '张家口', '承德']},// ]var provinces = {   //数据台湾: 'taiwan',河北: 'hebei',山西: 'shanxi',辽宁: 'liaoning',吉林: 'jilin',黑龙江: 'heilongjiang',江苏: 'jiangsu',浙江: 'zhejiang',安徽: 'anhui',福建: 'fujian',江西: 'jiangxi',山东: 'shandong',河南: 'henan',湖北: 'hubei',湖南: 'hunan',广东: 'guangdong',海南: 'hainan',四川: 'sichuan',贵州: 'guizhou',云南: 'yunnan',陕西: 'shanxi1',甘肃: 'gansu',青海: 'qinghai',新疆: 'xinjiang',广西: 'guangxi',内蒙古: 'neimenggu',宁夏: 'ningxia',西藏: 'xizang',北京: 'beijing',天津: 'tianjin',上海: 'shanghai',重庆: 'chongqing',香港: 'xianggang',澳门: 'aomen'}var isReturnChina = false //是否显示返回中国地图function clickRoute(){alert("点击了,做其他操作!")// this.$router.push('/')}function chinaMapHidden(chinaMap) {let that = thischinaMap.off('click')//这里解决多次触发点击事件 但是还会执行2次  引用echarts地图,点击各个省份时,点击一个调用两次接口,再点击一次,调用四次接口,再点击调用八次。。。。依次叠加,问题在于,没有将地图上的点击事件清空chinaMap.on('click',async function(params){// if (params.name in that.provinces) {//   let s = await import(`echarts/map/js/province/${that.provinces[params.name]}.js`);//   if (s){//     worldMap(params.name)//   }// }if(provinces.hasOwnProperty(params.name)){// var mapName =provinces[params.name]// $.getScript('js/province/'+mapName+'.js',function(){//   newFun('"Checking new script"');//这个函数是在new.js里面的,当点击click后运行这个函数// });// worldMap(mapName)newMapFu(params.name)}})}
//加载各省地图
function newMapFu(mapName){var nameEn = provinces[mapName]var js = document.createElement('script');js.src = 'js/province/'+nameEn+'.js';document.body.appendChild(js);setTimeout(function (){$('#backBtn').addClass('active');worldMap(mapName)},100)console.log(mapName)
}//返回中国地图
$('#backBtn').on('click',function (){$('#backBtn').removeClass('active');worldMap('china')
});function getMapJson(mapName) {var def = $.Deferred();var url = 'http://localhost:9075'+ '/projectManagement/public/echarts/map/json/province/'+mapName+'.json';$.ajax({type: 'get',url: url,data: {},dataType: 'json',success: function (data) {if (data.status == 'STATUS_SUCCESS') {def.resolve(data);def.promise(data);} else if (data.status == 'STATUS_FAIL') {def.resolve(data);def.promise(data);} else {def.resolve(data);def.promise(data);}},error: function (data) {def.reject(data);def.promise(data);}});return def;};
</script>
<script>//初始化echartsvar myChartMap;// worldMap('hebei'); //世界地图worldMap('china'); //世界地图function worldMap(mapName) {// myChart.showLoading({//   text: 'loading',//   color: '#c23531',//   textColor: '#000',//   maskColor: 'rgba(255, 255, 255, 0.2)',//   zlevel: 0,// });// myChart.hideLoading();/*标准必要专利数量排行-echart*/var echartNameDataArr = []; //X轴企业名称var echartNumDataArr = []; //Y轴标准数量// ajaxListByPatent().then(function (declEntityList) {//   var i = 0;//   repeat();//   function repeat() {//     if (i < declEntityList.length) {//       //企业没名字的移除//       ajaxcountByDeclEntity(declEntityList[i].name).then(function (declEntityNum) {//         echartNameDataArr.push(declEntityList[i].name);//         echartNumDataArr.push(declEntityNum);//         i++;//         repeat();//       });//     } else {//       console.log('Standard', echartNameDataArr, echartNumDataArr);//       echartSetOption();//构建标准分布 echarts//     }//   }echartSetOption(mapName);//构建标准分布 echarts//标准必要专利数量排行 echartsfunction echartSetOption(mapName) {// 基于准备好的dom,初始化echarts实例var  myChart = echarts.init(document.getElementById('worldMap'));if (myChart != null && myChart != "" && myChart != undefined) {myChart.dispose();}// getMapJson('hebei').then(function (data){//   echarts.registerMap('hebei', data);//   myChart = echarts.init(document.getElementById('worldMap'));// myChart.setOption({//   series: [{//     type: 'map',//     map: 'hebei'//   }]// });myChart = echarts.init(document.getElementById('worldMap'));var mapDataList = [{name: "南海诸岛",value: 0},{name: '北京',value: 54}];var visualMapParams = {min: mapDataList[0].value,max: mapDataList.slice(-1)[0].value,}var option = {tooltip: {show: true,triggerOn: "click",formatter: function(e, t, n) {// return .5 == e.value ? e.name + ":有疑似病例" : e.seriesName + "<br />" + e.name + ":" + e.valueconsole.log('dsadsads',e)var name = e.namevar toolipData = []// chinaMapHidden(name);// newMapFu(name);provinceData.forEach(item=>{if(name == item.name){// toolipData = item.children}})var htmlStr = ''toolipData.forEach(item=>{htmlStr += `<li class="list-li" name="${item}"><div οnclick="clickRoute()" >${item}</div></li>`})return `<div class="list-wrap"><div class="list-title">${name}</div><ul class="list-ul">${htmlStr}</ul></div>`}},//工具:数据、下载、还原toolbox: {show: true,orient: 'vertical',// left: '',right: '20px',top: 'center',feature: {dataView: {readOnly: false},restore: {},saveAsImage: {}}},visualMap: {min: 0,max: 1000,left: 26,bottom: 40,showLabel: !0,text: ["高", "低"],calculable: true,//可筛选show: false},geo: {map: mapName,//"china"// map: '河北',//"china"// center: [104.114129, 37.550339],//当前视角的中心点zoom: 1, //当前视角的缩放比例roam: true, //是否开启平游或缩放scaleLimit: { //滚轮缩放的极限控制min: 1,max: 2},// top: 80,label: {normal: {show: !0,fontSize: "14",color: "rgba(0,0,0,0.7)"}},itemStyle: {normal: {//shadowBlur: 50,//shadowColor: 'rgba(0, 0, 0, 0.2)',borderColor: "rgba(0, 0, 0, 0.2)"},emphasis: {areaColor: "#f2d5ad",shadowOffsetX: 0,shadowOffsetY: 0,borderWidth: 0}}},series: [{name: "确诊病例",type: "map",geoIndex: 0,// data: mapDataListdata: []}]};// 使用刚指定的配置项和数据显示图表。myChart.setOption(option);chinaMapHidden(myChart);//监听自适应大小window.addEventListener("resize", () => {myChart.resize();});})}};
</script>
</body>
</html>

http://chatgpt.dhexx.cn/article/xxC2L9cM.shtml

相关文章

利用pyecharts实现中国省与市之间的跳转

利用pyecharts实现中国省与市之间的跳转 需求需要的包参考正文读取excel中的数据生成全国地图生成各省份地图将全国地图与各省市地图相互链接 需求 地图上显示中国各省份名称及相对应的数据&#xff08;存于excel中&#xff0c;数据可自己定义读取&#xff09;&#xff0c;随鼠…

html弹跳qq群号代码,抖音上QQ群霸屏消息代码分享_抖音上QQ群霸屏消息代码大全-街机中国...

今天抖音上很多人拍摄在QQ中发送代码&#xff0c;可以让表情霸屏的视频。小编的QQ群也收到了很多霸屏贴表情消息。 首先 复制代码&#xff1a;sticker_start_tag_for_text{"originMsgType":0,"x":0.07037036865949631,"y":0.97685185223817825,&…

微信小程序点击跳转页面

第一步&#xff1a;index.wxml <button bindtap"gotoPage" style"color: rgb(151, 27, 27);">详情页面</button> 第二步&#xff1a;index.js // 详情页面跳转页面gotoPage: function (options) {wx.navigateTo({url: /pages/xiang/xiang,…

中国地图实现点击某省市区域跳转到相应页面

源码下载见页底 <!DOCTYPE html> <html><head><meta charset="utf-8"><title>中国地图-点见省市区域页面跳转</title></head><body><style>#main{background-color: #B1D0EC;width: 600px; height: 600px; ma…

java的html跳转,java跳转html并传值

java跳转html并传值 [2021-01-30 05:39:20] 简介: php去除nbsp的方法:首先创建一个PHP代码示例文件;然后通过“preg_replace("/(\s|\&nbsp\;| |\xc2\xa0)/", " ", strip_tags($val));”方法去除所有nbsp即可。推荐:《PHP视频教 php实现跳转传值的…

java jmap_Java常用分析工具之jmap

简介 jmap是JDK中提供的一个用来监视进程运行中的jvm物理内存的占用情况的工具。该进程内存内&#xff0c;所有对象的情况&#xff0c;例如产生了哪些对象&#xff0c;对象数量。当系统崩溃时&#xff0c;jmap 可以从core文件或进程中获得内存的具体匹配情况&#xff0c;包括He…

JVM工具之jmap命令使用

写在前面 该命令可用于查看虚拟机中对象实例数以及占用空间大小&#xff0c;生成堆转储文件&#xff0c;之后结合jvirsualvm等工具进行可视化查看&#xff0c;辅助定位程序的内存异常问题。 测试代码 public class ManyObj {private static List<People> peopleList …

JVM命令行监控工具之jmap(JVM Memory Map)

jmap简介 jmap(JVM Memory Map)一方面可以获取dump文件&#xff08;堆转储快照文件&#xff0c;二进制文件&#xff09;&#xff0c;它还可以获取目标Java进程的内存相关信息&#xff0c;包括Java堆各区域的使用情况、堆中对象的统计信息、类加载信息等。 选项作用-dump生成…

jmap详解

这里写自定义目录标题 简介理论知识实践部分1. 找到进程id2. 生成内存快照3. Java堆和方法区的详细信息、内存空间使用率、当前用的是哪种收集器 简介 这个命令非常重要&#xff0c;主要是生成java进程当前&#xff08;当前指的是执行命令的时刻&#xff09;内存堆转储快照&am…

jmap的使用以及内存溢出分析

jmap的使用以及内存溢出分析 jmap(java内存映像工具) jmap(Memory Map for Java&#xff09;命令用于生成堆转储快照&#xff08;一般称为heapdump或dump文件&#xff09;。还有几种方式获取dump文件&#xff1a;使用JVM参数选项-XX:HeapDumpOnOutOfMemoryError参数&#xff…

Java的jmap命令使用详解

jmap命令简介 jmap&#xff08;Java Virtual Machine Memory Map&#xff09;是JDK提供的一个可以生成Java虚拟机的堆转储快照dump文件的命令行工具。除此以外&#xff0c;jmap命令还可以查看finalize执行队列、Java堆和方法区的详细信息&#xff0c;比如空间使用率、当前使用…

Python Numpy .npy文件打开

首先找到你的npy文件的路径&#xff08;我的npy文件在D盘下&#xff0c;名字叫test.npy&#xff09; 2 打开编写python的软件&#xff08;我的软件是pycharm&#xff09; 3 新建一个python文件&#xff0c;用于后面的编程使用。&#xff08;我先建的python文件名叫test&#xf…

Numpy文件交互:.npy和.npz有什么区别?

文章目录 saveloadsavezsavez_compressed Numpy提供了以.npy为后缀的文件存储方案&#xff0c;与这种文件格式密切相关的读、写函数分别是np.load和np.save。通过savez可以一次性存储多个数组&#xff0c;并可通过load以键值对的形式读取出来&#xff1b;如果觉得文件太大&…

什么是npy文件,为什么要用npy格式保存文件?

文章目录 一、官方文档&#xff08;中文&#xff09;二、官方文档&#xff08;英文&#xff09;三、为什么要用npy文件保存文件四、读取和保存&#xff08;1&#xff09;加载npy文件&#xff0c;并将npy文件写入一个txt文件&#xff08;2&#xff09;保存npy文件&#xff08;3&…

深度学习入门之如何制作npz、npy文件

一、需求 论文《EyeTracking for everyone》中提出了iTracker神经网络,并构建了一个叫GazeCapture的数据库,将其部分数据集下载后,可以看到文件的层次结构如下图所示: 其中,整个数据集的后缀名是npz,内部文件的后缀名是npy。由于该数据集是面向Apple产品系列的,而我的…

tecplot切面

注意要选择Volume Zone

面向切面

面向切面是什么 AOP即面向切面编程。 让你只专注于核心业务功能的实现&#xff0c;而不用花太多精力去管像日志、事务等各个项目通用的功能。 把非核心的业务逻辑抽象成一个切面&#xff0c;在程序运行过程中自动注入该功能&#xff0c;这就是面向切面&#xff0c;其底层是通…

Spring AOP 之 多切面

接着上文&#xff1a;https://blog.csdn.net/single_wolf_wolf/article/details/81772837 多切面 相对来说&#xff0c;只是定义多个切面类&#xff0c;同时配置类中设置一下&#xff0c; demo如下&#xff1a; 首先定义一个接口&#xff1a; package com.cmb.multi;public…

spring切面注解失效

在项目中使用切面注解做数据脱敏时,导出的数据也需要脱敏处理,遇到了在一个类里面调用本类的方法切面失效,解决方法如下: 切面注解: package com.t3.ts.driver.resume.aspect;import java.lang.annotation.*;/*** Description: 数据脱敏注解 Filed* Date: 2019/9/10* Author:…

自定义切面类

直接贴入代码 &#xff0c;注释写的很清楚 此处为controller层 方法上加上自定义的切面注解 入参实体 public class TestM extends BaseModel{/****/private static final long serialVersionUID 1L; private String a;public String getA() {return a; }public void setA(S…