百度地图和Echarts的简单使用

绪论

做上一个项目的时候涉及到有关百度地图还有Echarts,想要写点东西,一直也没抽出时间,所以趁着最近比较闲,整理一下。

百度地图

感兴趣的可以百度一下,搜索百度地图API,使用之前记得注册,获取开发钥匙。

1、jsp页面代码
<%@ page language="java" contentType="text/html; charset=utf-8"
    pageEncoding="utf-8"%>
<% 
	String contextPath = request.getContextPath();

	String basePath = request.getScheme() + "://"
			+ request.getServerName() + ":" + request.getServerPort()
			+ contextPath + "/";
%>
<!DOCTYPE html>
<html>
<head lang="en">
	<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
	<meta name="viewport" content="initial-scale=1.0, user-scalable=no" />
	<script src="<%=contextPath %>/tools/jquery-2.1.1/jquery.min.js"></script>

	<script type="text/javascript" src="http://api.map.baidu.com/api?v=2.0&ak=钥匙"></script>
   	<script type="text/javascript" src="http://api.map.baidu.com/library/TextIconOverlay/1.2/src/TextIconOverlay_min.js"></script>
	<script type="text/javascript" src="http://api.map.baidu.com/library/MarkerClusterer/1.2/src/MarkerClusterer_min.js"></script>
<title>登录页</title>
<style type="text/css">  
	html{height:100%}  
	body{height:100%;margin:0px;padding:5px}  
	#baiDuMap{height:100%;}  
</style>
<script type="text/javascript">
	var map = null;
	var point = null;
	var pointConter = null;

	//加载百度地图
	$(document).ready(function(){		
		loadJScript();
		queryData();
	});
	
	// 地图初始化
	function loadJScript() {
		map = new BMap.Map("baiDuMap");
		point = new BMap.Point(116.404, 39.915);
		map.centerAndZoom(point, 10);
		//添加地图类型控件
		map.addControl(new BMap.MapTypeControl());
		// 设置地图显示的城市 此项是必须设置的
		map.setCurrentCity("北京");
		//开启鼠标滚轮缩放
		map.enableScrollWheelZoom(true);
	}

	// 编写自定义函数,创建标注
	function addMarker(myPoint, mId){
		var myIcon = new BMap.Icon("<%=contextPath%>/files/imgs/icon_denggan_blue.png", new BMap.Size(50,50));
		var marker = new BMap.Marker(myPoint, {icon:myIcon});
		map.addOverlay(marker);
		
		marker.addEventListener("click", function(){
			alert(mId);
		});
	}
	
	function bigPoints(points){
		if (document.createElement('canvas').getContext){
			var options = {
		            size: BMAP_POINT_SIZE_SMALL,
		            shape: BMAP_POINT_SHAPE_STAR,
		            color: '#d340c3'
		        }
			var pointCollection = new BMap.PointCollection(points, options);
			// 添加Overlay
			map.addOverlay(pointCollection);  
		}else{
			alert('请在chrome、safari、IE8+以上浏览器查看本示例');
		}
	}
	
	function queryData(){
		var points = [];
		$.ajax({  
	        async : true,  
	        cache:false,  
	        type: 'post',
	     	contentType: "application/x-www-form-urlencoded; charset=utf-8",
	     	scriptCharset: 'utf-8',
	        url: "<%=contextPath%>/baidu/queryMapData",
	     	success:function(data){ //请求成功后处理函数。 
	     		data = eval(data); 
	     		if(data != null && data.length > 0){
	     			 for(var i = 0; i < data.length ; i++){	     				
	     				var p = new BMap.Point(data[i].mLongitude, data[i].mLatitude);
	     				addMarker(p, data[i].mId);
//	     				points.push(p);
//	     				bigPoints(points);
	     			 }	     			 
	     		 }
	     	} ,
	        error: function () {//请求失败处理函数  		        	
	        }  	         
	    });
	}

</script>
</head>
<body>
	<div id="baiDuMap" style=""></div>
</body>
</html>
2、MapData 属性,随机数生成些数据就好
public class MapData {

	private String mId;
	
	private Double mLongitude;
	
	private Double mLatitude;

	public static void main(String[] args) {
		for(int i=1;i<201;i++){
			// 范围115.5 ~ 117.5
			// 范围39.0 ~ 41.0
			double a = Math.random() * 2 + 115.5;
			double b = Math.random() * 2 + 39.0;
			System.out.println("INSERT INTO `map_data` VALUES ('"+i+"', '"+a+"', '"+b+"');");
		}
	}
}
3、两种效果。

1)使用bigPoints方法
这里写图片描述

2)使用addMarker方法
这里写图片描述

Echarts

可以百度搜索下载相应的js脚本,目前最新的版本是4.0.2。

1、柱状图。

jsp页面代码

<%@ page language="java" contentType="text/html; charset=utf-8"
    pageEncoding="utf-8"%>
<% 
	String contextPath = request.getContextPath();

	String basePath = request.getScheme() + "://"
			+ request.getServerName() + ":" + request.getServerPort()
			+ contextPath + "/";
%>
<!DOCTYPE html >
<html>
<head>
	<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
	<link rel="stylesheet" href="<%=contextPath %>/tools/bootstrap-3.3.7/css/bootstrap.min.css">
	<script src="<%=contextPath %>/tools/jquery-2.1.1/jquery.min.js"></script>
	<script src="<%=contextPath %>/tools/bootstrap-3.3.7/js/bootstrap.min.js"></script>
	<script src="<%=contextPath %>/tools/echarts-2.2.7/echarts-all.js"></script>
<title>柱状图</title>

<script type="text/javascript">
	//初始化加载
	$(document).ready(function(){
		queryData();
		
		$("#f").change(function(){
			queryData();
		});
	});
	
	function showBar(op){
		// 基于准备好的dom,初始化echarts图表
		var myChart = echarts.init(document.getElementById('main'));
		
		var option = {
			    title : {
			        text: '每月任务情况变化',
			        subtext: '纯属虚构'
			    },
			    tooltip : {
			        trigger: 'axis'
			    },
			    legend: {
			        data:['异常任务数量','处理任务数量']
			    },
			    toolbox: {
			        show : true,
			        feature : {
			            mark : {show: true},
			            dataView : {show: true, readOnly: false},
			            magicType : {show: true, type: ['line', 'bar']},
			            restore : {show: true},
			            saveAsImage : {show: true}
			        }
			    },
			    calculable : true,
			    xAxis : [
			        {
			            type : 'category',
			            data : op.xAxis
			        }
			    ],
			    yAxis : [
			        {
			            type : 'value'
			        }
			    ],
			    series : [
			        {
			            name:'异常任务数量',
			            type:'bar',
			            data: op.yAxisA,
			            markPoint : {
			                data : [
			                    {type : 'max', name: '最大值'},
			                    {type : 'min', name: '最小值'}
			                ]
			            },
			            markLine : {
			                data : [
			                    {type : 'average', name: '平均值'}
			                ]
			            }
			        },
			        {
			            name:'处理任务数量',
			            type:'bar',
			            data: op.yAxisB,
			            markPoint : {
			                data : [
			                	{type : 'max', name: '最大值'},
			                    {type : 'min', name: '最小值'}
			                ]
			            },
			            markLine : {
			                data : [
			                    {type : 'average', name : '平均值'}
			                ]
			            }
			        }
			    ]
			};
			                    		
		// 为echarts对象加载数据 
		myChart.setOption(option);
	}
	
	function queryData(){
		var op = {};
		var title = '';
		var xAxis = [];
		var yAxisA = [];
		var yAxisB = [];		
		
		var f = $("#f").val();
		var s = new Array();
		if(f != null && f != ''){
			s = f.split('-');
		}else{
			s[0] = 2017;
			s[1] = 9;
		}
		
		$.ajax({  
	        async : true,  
	        cache:false,  
	        type: 'post',
	     	contentType: "application/x-www-form-urlencoded",
	     	scriptCharset: 'utf-8',
	        url: "<%=contextPath%>/baidu/queryEchartsData?eYear="+s[0]+"&eMonth="+s[1],
	     	success:function(data){ //请求成功后处理函数。 
	     		data = eval(data); 
	     		if(data != null && data.length > 0){	     			 
	     			 title = data[0].eDate;
	     			 for(var i = 0; i < data.length ; i++){	     				
	     				xAxis.push(data[i].eDay);
	     				yAxisA.push(data[i].eNum);
	     				yAxisB.push(data[i].eDeal);
	     			 }	     			 
	     		 }
	     		 
     			 op.xAxis = xAxis;
     			 op.yAxisA = yAxisA;
     			 op.yAxisB = yAxisB;
     			 showBar(op);
	     	} ,
	        error: function () {//请求失败处理函数  		        	
	        }  	         
	    });
	}
</script>
</head>
<body>
<div class="container">
	<div class="row clearfix">
		<div class="col-md-12 column">
			<nav class="navbar navbar-default navbar-inverse navbar-fixed-top" role="navigation">
				<div class="navbar-header">
					 <button class="navbar-toggle" type="button" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1">
					 <span class="sr-only">Toggle navigation</span><span class="icon-bar"></span><span class="icon-bar"></span>
					 <span class="icon-bar"></span></button> <a class="navbar-brand active" href="#">YoungBlogger</a>
				</div>
				
				<div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
					<ul class="nav navbar-nav">
						<li class="dropdown">
							 <a class="dropdown-toggle" href="#" data-toggle="dropdown">百度<strong class="caret"></strong></a>
							 <ul class="dropdown-menu">
								<li>
									 <a href="<%=contextPath %>/baidu/baiduMap">百度地图</a>
								</li>
								<li>
									 <a href="<%=contextPath %>/baidu/echartsBar">柱状图</a>
								</li>
								<li>
									 <a href="<%=contextPath %>/baidu/echartsLine">折线图</a>
								</li>
								<li>
									 <a href="<%=contextPath %>/baidu/echartsPie">饼状图</a>
								</li>
							</ul>
						</li>
						<li>
							 <a href="#">博客</a>
						</li>
						<li>
							 <a href="#">论坛</a>
						</li>
						<li>
							 <a href="#">问答</a>
						</li>
					</ul>
					<form class="navbar-form navbar-left" role="search">
						<div class="form-group">
							<input class="form-control" type="text" />
						</div> <button class="btn btn-default" type="submit">搜索</button>
					</form>
					<ul class="nav navbar-nav navbar-right">
						<li>
							 <a href="#">登录</a>
						</li>
						<li class="dropdown">
							<a class="dropdown-toggle" href="#" data-toggle="dropdown">其它&nbsp;&nbsp;&nbsp;<strong class="caret"></strong></a>
							<ul class="dropdown-menu">
								<li>
									 <a href="#">我要留言</a>
								</li>
								<li>
									 <a href="#">我要加入</a>
								</li>
								<li>
									 <a href="#">我要报错</a>
								</li>
								<li class="divider">
								</li>
								<li>
									 <a href="#">联系我们</a>
								</li>
							</ul>
						</li>
					</ul>
				</div>				
			</nav>
			<br>
			<div class="row clearfix">
				<div class="col-md-12 column">
					<div class="page-header">
						<h1>
							<small>柱状图</small>
						</h1>
					</div>
					<div class="form-group">		
						<label for="name">月份:</label>
						<select id="f" name="f" class="form-control">
							<option value="2017-9" selected="selected">2017年9月</option>
							<option value="2017-8">2017年8月</option>
						</select>
					</div>
					<br>
					<div id="main" style="height:400px"></div>					
				</div>
			</div>
		</div>
	</div>
</div>
</body>
</html>
结果

这里写图片描述

2、折线图。

jsp页面代码

<%@ page language="java" contentType="text/html; charset=utf-8"
    pageEncoding="utf-8"%>
<% 
	String contextPath = request.getContextPath();

	String basePath = request.getScheme() + "://"
			+ request.getServerName() + ":" + request.getServerPort()
			+ contextPath + "/";
%>
<!DOCTYPE html >
<html>
<head>
	<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
	<link rel="stylesheet" href="<%=contextPath %>/tools/bootstrap-3.3.7/css/bootstrap.min.css">

	<script src="<%=contextPath %>/tools/jquery-2.1.1/jquery.min.js"></script>
	<script src="<%=contextPath %>/tools/bootstrap-3.3.7/js/bootstrap.min.js"></script>
	<script src="<%=contextPath %>/tools/echarts-2.2.7/echarts-all.js"></script>
<title>折线图</title>

<script type="text/javascript">
	//初始化加载
	$(document).ready(function(){
		queryData();
		
		$("#f").change(function(){
			queryData();
		});
	});
	
	function showLine(op){
		// 基于准备好的dom,初始化echarts图表
		var myChart = echarts.init(document.getElementById('main'));
		
		var option = {
			    title : {
			        text: '每月任务情况变化',
			        subtext: '纯属虚构'
			    },
			    tooltip : {
			        trigger: 'axis'
			    },
			    legend: {
			        data:['异常任务数量','处理任务数量']
			    },
			    toolbox: {
			        show : true,
			        feature : {
			            mark : {show: true},
			            dataView : {show: true, readOnly: false},
			            magicType : {show: true, type: ['line', 'bar']},
			            restore : {show: true},
			            saveAsImage : {show: true}
			        }
			    },
			    calculable : true,
			    xAxis : [
			        {
			            type : 'category',
			            boundaryGap : false,
			            data : op.xAxis
			        }
			    ],
			    yAxis : [
			        {
			            type : 'value',
			            axisLabel : {
			                formatter: '{value} 个'
			            }
			        }
			    ],
			    series : [
			        {
			            name:'异常任务数量',
			            type:'line',
			            data: op.yAxisA,
			            markPoint : {
			                data : [
			                    {type : 'max', name: '最大值'},
			                    {type : 'min', name: '最小值'}
			                ]
			            },
			            markLine : {
			                data : [
			                    {type : 'average', name: '平均值'}
			                ]
			            }
			        },
			        {
			            name:'处理任务数量',
			            type:'line',
			            data: op.yAxisB,
			            markPoint : {
			                data : [
			                	{type : 'max', name: '最大值'},
			                    {type : 'min', name: '最小值'}
			                ]
			            },
			            markLine : {
			                data : [
			                    {type : 'average', name : '平均值'}
			                ]
			            }
			        }
			    ]
			};
			                    		
		// 为echarts对象加载数据 
		myChart.setOption(option);
	}
	
	function queryData(){
		var op = {};
		var title = '';
		var xAxis = [];
		var yAxisA = [];
		var yAxisB = [];		
		
		var f = $("#f").val();
		var s = new Array();
		if(f != null && f != ''){
			s = f.split('-');
		}else{
			s[0] = 2017;
			s[1] = 9;
		}
		
		$.ajax({  
	        async : true,  
	        cache:false,  
	        type: 'post',
	     	contentType: "application/x-www-form-urlencoded",
	     	scriptCharset: 'utf-8',
	        url: "<%=contextPath%>/baidu/queryEchartsData?eYear="+s[0]+"&eMonth="+s[1],
	     	success:function(data){ //请求成功后处理函数。 
	     		data = eval(data); 
	     		if(data != null && data.length > 0){	     			 
	     			 title = data[0].eDate;
	     			 for(var i = 0; i < data.length ; i++){	     				
	     				xAxis.push(data[i].eDay);
	     				yAxisA.push(data[i].eNum);
	     				yAxisB.push(data[i].eDeal);
	     			 }	     			 
	     		 }
	     		 
     			 op.xAxis = xAxis;
     			 op.yAxisA = yAxisA;
     			 op.yAxisB = yAxisB;
     			 showLine(op);
	     	} ,
	        error: function () {//请求失败处理函数  		        	
	        }  	         
	    });
	}
	
</script>
</head>
<body>
<div class="container">
	<div class="row clearfix">
		<div class="col-md-12 column">
			<nav class="navbar navbar-default navbar-inverse navbar-fixed-top" role="navigation">
				<div class="navbar-header">
					 <button class="navbar-toggle" type="button" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1">
					 <span class="sr-only">Toggle navigation</span><span class="icon-bar"></span><span class="icon-bar"></span>
					 <span class="icon-bar"></span></button> <a class="navbar-brand active" href="#">YoungBlogger</a>
				</div>
				
				<div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
					<ul class="nav navbar-nav">
						<li class="dropdown">
							 <a class="dropdown-toggle" href="#" data-toggle="dropdown">百度<strong class="caret"></strong></a>
							 <ul class="dropdown-menu">
								<li>
									 <a href="<%=contextPath %>/baidu/baiduMap">百度地图</a>
								</li>
								<li>
									 <a href="<%=contextPath %>/baidu/echartsBar">柱状图</a>
								</li>
								<li>
									 <a href="<%=contextPath %>/baidu/echartsLine">折线图</a>
								</li>
								<li>
									 <a href="<%=contextPath %>/baidu/echartsPie">饼状图</a>
								</li>
							</ul>
						</li>
						<li>
							 <a href="#">博客</a>
						</li>
						<li>
							 <a href="#">论坛</a>
						</li>
						<li>
							 <a href="#">问答</a>
						</li>
					</ul>
					<form class="navbar-form navbar-left" role="search">
						<div class="form-group">
							<input class="form-control" type="text" />
						</div> <button class="btn btn-default" type="submit">搜索</button>
					</form>
					<ul class="nav navbar-nav navbar-right">
						<li>
							 <a href="#">登录</a>
						</li>
						<li class="dropdown">
							<a class="dropdown-toggle" href="#" data-toggle="dropdown">其它&nbsp;&nbsp;&nbsp;<strong class="caret"></strong></a>
							<ul class="dropdown-menu">
								<li>
									 <a href="#">我要留言</a>
								</li>
								<li>
									 <a href="#">我要加入</a>
								</li>
								<li>
									 <a href="#">我要报错</a>
								</li>
								<li class="divider">
								</li>
								<li>
									 <a href="#">联系我们</a>
								</li>
							</ul>
						</li>
					</ul>
				</div>				
			</nav>
			<br>
			<div class="row clearfix">
				<div class="col-md-12 column">
					<div class="page-header">
						<h1>
							<small>折线图</small>
						</h1>
					</div>
					<div class="form-group">		
						<label for="name">月份:</label>
						<select id="f" name="f" class="form-control">
							<option value="2017-9" selected="selected">2017年9月</option>
							<option value="2017-8">2017年8月</option>
						</select>
					</div>
					<br>
					<div id="main" style="width:100%;height:400px"></div>					
				</div>
			</div>	
		</div>
	</div>
</div>
</body>
</html>
结果

这里写图片描述

3、饼状图。

jsp页面代码

<%@ page language="java" contentType="text/html; charset=utf-8"
    pageEncoding="utf-8"%>
<% 
	String contextPath = request.getContextPath();

	String basePath = request.getScheme() + "://"
			+ request.getServerName() + ":" + request.getServerPort()
			+ contextPath + "/";
%>
<!DOCTYPE html >
<html>
<head>
	<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
	<link rel="stylesheet" href="<%=contextPath %>/tools/bootstrap-3.3.7/css/bootstrap.min.css">

	<script src="<%=contextPath %>/tools/jquery-2.1.1/jquery.min.js"></script>
	<script src="<%=contextPath %>/tools/bootstrap-3.3.7/js/bootstrap.min.js"></script>
	<script src="<%=contextPath %>/tools/echarts-2.2.7/echarts-all.js"></script>
<title>饼状图</title>

<script type="text/javascript">
	//初始化加载
	$(document).ready(function(){
		queryData()
				
		$("#f").change(function(){
			queryData();
		});
	});
	
	function showPie(op){
		// 基于准备好的dom,初始化echarts图表
		var myChart = echarts.init(document.getElementById('main'));
		
		var option = {
			    title : {
			        text: '每月任务情况变化',
			        subtext: '纯属虚构',
			        x:'center'
			    },
			    tooltip : {
			        trigger: 'item',
			        formatter: "{a} <br/>{b} : {c} ({d}%)"
			    },
			    legend: {
			        orient : 'vertical',
			        x : 'left',
			        data:['异常任务数量','处理任务数量']
			    },
			    toolbox: {
			        show : true,
			        feature : {
			            mark : {show: true},
			            dataView : {show: true, readOnly: false},
			            magicType : {
			                show: true, 
			                type: ['pie', 'funnel'],
			                option: {
			                    funnel: {
			                        x: '25%',
			                        width: '50%',
			                        funnelAlign: 'left',
			                        max: 1548
			                    }
			                }
			            },
			            restore : {show: true},
			            saveAsImage : {show: true}
			        }
			    },
			    calculable : true,
			    series : [
			        {
			            name:'访问来源',
			            type:'pie',
			            radius : '55%',
			            center: ['50%', '60%'],
			            data:[
			                {value: op.yAxisA, name:'异常任务数量'},
			                {value: op.yAxisB, name:'处理任务数量'}
			            ]
			        }
			    ]
			}; 
			                    		
		// 为echarts对象加载数据 
		myChart.setOption(option);
	}
	
	function queryData(){
		var op = {};
		var title = '';
		var yAxisA = 0;
		var yAxisB = 0;		
		
		var f = $("#f").val();
		var s = new Array();
		if(f != null && f != ''){
			s = f.split('-');
		}else{
			s[0] = 2017;
			s[1] = 9;
		}
		
		$.ajax({  
	        async : true,  
	        cache:false,  
	        type: 'post',
	     	contentType: "application/x-www-form-urlencoded",
	     	scriptCharset: 'utf-8',
	        url: "<%=contextPath%>/baidu/queryEchartsData?eYear="+s[0]+"&eMonth="+s[1],
	     	success:function(data){ //请求成功后处理函数。 
	     		data = eval(data); 
	     		if(data != null && data.length > 0){	     			 
	     			 title = data[0].eDate;
	     			 for(var i = 0; i < data.length ; i++){
	     				yAxisA += data[i].eNum;
	     				yAxisB += data[i].eDeal;
	     			 }	     			 
	     		 }
	     		 
     			 op.yAxisA = yAxisA;
     			 op.yAxisB = yAxisB;
     			 showPie(op);
	     	} ,
	        error: function () {//请求失败处理函数  		        	
	        }  	         
	    });
	}
</script>
</head>
<body>
<div class="container">
	<div class="row clearfix">
		<div class="col-md-12 column">
			<nav class="navbar navbar-default navbar-inverse navbar-fixed-top" role="navigation">
				<div class="navbar-header">
					 <button class="navbar-toggle" type="button" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1">
					 <span class="sr-only">Toggle navigation</span><span class="icon-bar"></span><span class="icon-bar"></span>
					 <span class="icon-bar"></span></button> <a class="navbar-brand active" href="#">YoungBlogger</a>
				</div>
				
				<div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
					<ul class="nav navbar-nav">
						<li class="dropdown">
							 <a class="dropdown-toggle" href="#" data-toggle="dropdown">百度<strong class="caret"></strong></a>
							 <ul class="dropdown-menu">
								<li>
									 <a href="<%=contextPath %>/baidu/baiduMap">百度地图</a>
								</li>
								<li>
									 <a href="<%=contextPath %>/baidu/echartsBar">柱状图</a>
								</li>
								<li>
									 <a href="<%=contextPath %>/baidu/echartsLine">折线图</a>
								</li>
								<li>
									 <a href="<%=contextPath %>/baidu/echartsPie">饼状图</a>
								</li>
							</ul>
						</li>
						<li>
							 <a href="#">博客</a>
						</li>
						<li>
							 <a href="#">论坛</a>
						</li>
						<li>
							 <a href="#">问答</a>
						</li>
					</ul>
					<form class="navbar-form navbar-left" role="search">
						<div class="form-group">
							<input class="form-control" type="text" />
						</div> <button class="btn btn-default" type="submit">搜索</button>
					</form>
					<ul class="nav navbar-nav navbar-right">
						<li>
							 <a href="#">登录</a>
						</li>
						<li class="dropdown">
							<a class="dropdown-toggle" href="#" data-toggle="dropdown">其它&nbsp;&nbsp;&nbsp;<strong class="caret"></strong></a>
							<ul class="dropdown-menu">
								<li>
									 <a href="#">我要留言</a>
								</li>
								<li>
									 <a href="#">我要加入</a>
								</li>
								<li>
									 <a href="#">我要报错</a>
								</li>
								<li class="divider">
								</li>
								<li>
									 <a href="#">联系我们</a>
								</li>
							</ul>
						</li>
					</ul>
				</div>				
			</nav>
			<br>
			<div class="row clearfix">
				<div class="col-md-12 column">
					<div class="page-header">
						<h1>
							<small>饼状图</small>
						</h1>
					</div>
					<div class="form-group">		
						<label for="name">月份:</label>
						<select id="f" name="f" class="form-control">
							<option value="2017-9" selected="selected">2017年9月</option>
							<option value="2017-8">2017年8月</option>
						</select>
					</div>
					<br>
					<div id="main" style="width:100%;height:400px"></div>					
				</div>
			</div>	
		</div>
	</div>
</div>
</body>
</html>
结果

这里写图片描述

数据实体

public class EChartsData {

	private String eId;
	
	private int eYear;
	
	private int eMonth;
	
	private int eDay;
	
	private int eNum;
	
	private int eDeal;
	
	private Date eDate;
}

Echarts中大部分内容都差不多,所以怎么获取后台数据,形成一个符合自己所需要的json,怎样把json在前台进行处理,这是需要考虑的问题。

(若有什么错误,请留言指正,3Q)

  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
ECharts是百度开源的一个基于JavaScript的可视化库,它支持多种图表类型,包括折线图、柱状图、散点图和饼图等。而且,ECharts还可以和百度地图进行结合,实现地理信息数据的可视化展示。 下面我来简单介绍一下如何使用ECharts实现百度地图的可视化。 首先,我们需要引入ECharts百度地图的API文件。在HTML文件中加入以下代码: ```html <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>ECharts 百度地图扩展</title> <script src="https://cdn.staticfile.org/echarts/4.7.0/echarts.min.js"></script> <script src="http://api.map.baidu.com/api?v=2.0&ak=您的密钥"></script> </head> <body> <div id="map" style="width: 800px; height: 600px;"></div> </body> </html> ``` 其中,ECharts的文件引入使用了CDN,而百度地图的API文件需要自己去申请密钥并替换到代码中。 接着,在JavaScript中初始化地图,并将其与ECharts进行结合。以下是示例代码: ```javascript var chart = echarts.init(document.getElementById('map')); // 设置地图的配置项和数据 var option = { bmap: { center: [116.46, 39.92], zoom: 10, roam: true }, series: [{ type: 'scatter', coordinateSystem: 'bmap', data: [ [116.46, 39.92], [116.56, 39.92], [116.66, 39.92], [116.76, 39.92], [116.86, 39.92] ], symbolSize: 20, label: { show: true, formatter: function(params) { return params.value[0] + ', ' + params.value[1]; }, position: 'top' }, itemStyle: { color: 'purple' } }] }; // 使用刚指定的配置项和数据显示图表。 chart.setOption(option); ``` 以上代码中,我们定义了一个散点图系列,数据坐标系为百度地图,并设置了散点图的位置、大小、标签和颜色等属性。 最后,我们需要在页面加载完成后触发ECharts图表的渲染。以下是示例代码: ```javascript // 基于准备好的dom,初始化echarts实例 var chart = echarts.init(document.getElementById('map')); // 使用刚指定的配置项和数据显示图表。 chart.setOption(option); // 地图自适应 window.onresize = function() { chart.resize(); }; ``` 上述代码中,我们使用了`window.onresize`事件来自适应地图的大小变化。 以上就是使用ECharts进行百度地图可视化的简单介绍。希望对你有所帮助!

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值