echarts 地图 动态 展示 结合css+js

摘要:
echarts地图展示功能非常强大,官网上静态展示的样例非常多了,动态的资料少。我眼下实现的通过ajax从server获取数据动态展示地图。另外,我们有时候希望在地图之上做些自己定义的东西,比方:通知框。我们能够通过css图层的方式在地图之上实现。我实现的效果例如以下:附上源码:˂!

echarts地图展示功能非常强大,官网上静态展示的样例非常多了,动态的资料少。研究了下。我眼下实现的通过ajax从server获取数据动态展示地图。

另外,我们有时候希望在地图之上做些自己定义的东西,比方:通知框。或者其它的东西。我们能够通过css图层的方式在地图之上实现。我实现的效果例如以下:

echarts 地图 动态 展示 结合css+js第1张

附上源码:

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>ECharts</title>
<style>
.dn{
display:none;
}
.divcss5-1 {
	z-index: 10;
	border: 1px solid rgb(204, 204, 204);
	left: 900px;
	top: 100px;
	 400px;
	height: 540px;
	position: absolute;
	padding: 0 10px;
}
</style>
</head>

<body>
<div   class="divcss5-1"></div>
	<!--Step:1 Prepare a dom for ECharts which (must) has size (width & hight)-->
	<!--Step:1 为ECharts准备一个具备大小(宽高)的Dom-->
	<!--<div   style="height:500px;border:1px solid #ccc;padding:10px;"></div>-->
	<div   style="height: 700px; border: 0px solid #ccc; padding: 10px;margin:25px 0;"></div>

	<!--Step:2 Import echarts.js-->
	<!--Step:2 引入echarts.js-->
	<script src="http://t.zoukankan.com/js/echarts/dist/echarts-all.js"></script>
	<script src="http://t.zoukankan.com/js/jquery-1.4.3.js"></script>

	<script type="text/javascript">
		//var myChart = echarts.init(document.getElementById('mainMap'));
		// Step:4 require echarts and use it in the callback.
		// Step:4 动态载入echarts然后在回调函数中開始使用,注意保持按需载入结构定义图表路径
		var option = {
				backgroundColor: '#ffffff',
				title : {
					text : '***网报进度',
					subtext : '(当前总数)',
					x : 'center'
				},
				tooltip : {
					trigger : 'item',
					formatter : "{c}"
				},
				legend : {
					orient : 'vertical',
					x : 'left',
					data : [ '注冊情况统计' ]
				},
				dataRange : {
					x : 'left',
					y : 'bottom',
					//orient : 'horizontal',
					min : 0,
					max : 3000000,
					text : [ '300万', '0' ], // 文本,默觉得数值文本
					splitNumber : 0
				},
				toolbox : {
					show : false,
				},
				roamController : {
					show : false,
				},
				series : [{
					name : '注冊情况统计',
					type : 'map',
					mapType : 'china',
					mapLocation: {
	                    x: '100',
	                    y: 'center',
	                    height: '80%'
	                },
					roam : false,
					showLegendSymbol : false,
					itemStyle : {
						normal : {
							borderWidth : 1,
							borderColor : 'black',
							color : 'grey',
							label : {
								show : true,
								textStyle : {
									color : "black",
									fontWeight : "bold"
								}
							}
						},
						emphasis : {
							label : {
								show : true
							}
						}
					},
					data : [],
					geoCoord: {
		                "海门":[121.15,31.89],
		                "北京":[116.46,39.92]
					}
				}]
			};
		//myChart.setOption(option);
		var mapDiv = document.getElementById('mainMap');
		var myChart = echarts.init(mapDiv);
		myChart.showLoading({
		    text: '正在努力的读取数据中...',    //loading话术
		});
		function getTotal(){
			$.getJSON("/m/total.action", 
				{xllb:'20'},
				function(json){
					var mapChart = echarts.init(mapDiv);
					var myOption = option;
					var cntAll = 0;
					for(var i=0;i<json.length;i++) {
						cntAll+=json[i].value;
					}
					myOption.title.subtext = "(当前总数"+cntAll+")";
					//var series = myChart.getSeries();
					myOption.series[0].data = json;
					//myChart.setSeries(series);
					mapChart.setOption(myOption, true);
					//console.log(json);
				}
			);
		}
		var index = 0;
		function addMsg(){
			$.getJSON("/m/msg.action", 
				{xllb:'20',start:index},
				function(json){
					if(json.length>0) {
						var msg = json[0].msg;
						var $board = $("#board");
						var $ps = $board.find("p");
						if($ps.size()>13) {
							var $lastP = $ps.last()
							$lastP.hide("slow");
							$lastP.remove();
							//console.log("已满");
						}
						var p = $("<p class='dn'>"+msg+"</p>");
						$board.prepend(p);
						p.slideDown("slow");
						index++;
					}
				}
			);
		}
		setInterval("addMsg()",5000);
		setInterval("getTotal()",5000);
		//getTotal(myChart);
	</script>
</body>
</html>

免责声明:文章转载自《echarts 地图 动态 展示 结合css+js》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇Jenkins参数化构建--Git Parameter什么是商誉下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

浅谈MindSpore的动态Shape

写在前面   在MindSpore开发过程中,由于动态Shape算子的开发需求,再加上MindSpore的动态Shape也在持续完善,笔者遇到了框架上的一些问题。通过查看源码和相关文档的方式,获得了初步的解决方案和感悟。这篇博客主要是将当时的见闻加以整理,并给出一点点开发建议。此外,当时笔者还做了组内分享,附件是分享的胶片,如果不想看文字版,也可以直接看胶...

mybatis 使用记录(二) 动态拼接查询条件

2016-12-16 阅读项目代码时,在项目的xml文件中发现如下写法: SELECT student_user_id FROM tbr_student_class WHERE 1=1 <if test="@Ognl@isNotEmpty(classId)"> and class_id =#{classId} </if> <...

echarts tree 树图总结,点击父节点动态生成子节点,树图数据过多高度自适应,点击子节点跳转页面。

简单的对工作共遇到的echarts tree树图做个总结(动态获取父节点数据,点击父节点,获取子节点数据,根据数据的多少来确定整个树图的高度,点击父节点获取子节点时数据过多高度自适应,点击子节点跳转页面)    经历几个月的时间终于算是改善完美,下面就来我所写的echarts树图代码    1、这个是通过接口获取到数据,写一个echarts树图数据data...

为什么要先装IIS后装.Net Framework?

1.动态页面和静态页面的区别   动态页面(动态网站):通过C#代码(或别的语言)与服务器的交互的实现(比如新建一个ashx一般处理程序中的C#代码就可以和服务器实现交互,修改数据库,上传图片等都属于和服务器的交互)  静态页面(静态网站):纯HTML+CSS+javascript开发的页面,负责页面的展示效果开发的网站一般是动静结合 2.为什么要先装II...

数据可视化之powerBI技巧(十八)Power BI动态技巧:动态显示列和度量值

今天分享一个可视化小技巧,如何在PowerBI的表格中动态显示需要的列? 就是这样的效果, 也就是根据切片器的筛选,来显示需要的列,做起来很简单,步骤如下: 01 逆透视表 进入Powerquery编辑其中,对该表格逆透视。 选中基础列,也就是固定显示的列,比如[产品名称],然后逆透视其他列, 逆透视后的表格如下, 是不是很乱的感觉? 02 利用矩阵...

函数中的动态参数

所谓的动态参数就是在写函数时,你可以传递1个参数,2个参数,3个参数甚至更多,同时也可以忽略它。 动态参数:一般有两种表示方法: *args 和**kwargs ,它的区别不是在于 args 和kwargs 这里可以替换成任意字母,这里最主要的区别是* 和** 动态参数跟默认参数一样,要写在位置参数的后面 def func(name,age,sex,cla...