openlayers3结合echarts3示例
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Ol3 popup</title>
<link rel="stylesheet" type="text/css" href="./css/ol.css"/>
<style type="text/css">
body, #map {
border: 0px;
margin: 0px;
padding: 0px;
padding: 0px;
padding: 0px;
width: 100%;
height: 100%;
font-size: 13px;
}
#chart{
height: 200px;
width: 200px;
}
</style>
<script type="text/javascript" src="./js/ol.js"></script>
<script type="text/javascript" src="./js/jquery.js"></script>
<script src="./js/echarts.min.js"></script>
<script src="./js/data.js"></script>
<script type="text/javascript">
function init(){
var format = 'image/png';
var bounds = [73.4510046356223, 18.1632471876417,
134.976797646506, 53.5319431522236];
var vectorSource = new ol.source.TileWMS({
url: 'http://localhost:8080/geoserver/map/wms?service=WMS&version=1.1.0&request=GetMap&layers=map:capital&styles=&bbox=87.57607938302118,19.97015007757606,126.56705607814561,45.69385655384421&width=768&height=506&srs=EPSG:4326&format=application/openlayers',
params:{
'LAYERS':'capital',
'TILED':false
},
serverType:'geoserver'
});
var untiled = new ol.layer.Tile({
source: vectorSource
});
var chart = echarts.init(document.getElementById('chart'));
chart.setOption(option); //echarts.init 方法初始化一个 echarts 实例并通过 setOption 方法生成一个
var map = new ol.Map({
controls: ol.control.defaults({
attribution: false
}),
target: 'map',
layers: [new ol.layer.Tile({
source: new ol.source.OSM(),
projection:ol.proj.getTransform("EPSG:3857", "EPSG:4326")
}),
untiled],
view: new ol.View({
center:[117,42],
projection:'EPSG:4326',
zoom:6
})
});
map.on('click', function(evt) {
var pt=evt.coordinate;
var pie = new ol.Overlay({
position: pt,
positioning: 'center-center',
element: document.getElementById('chart')
});
map.addOverlay(pie);
});
}
</script>
</head>
<body onLoad="init()">
<div id="map"></div>
<div id="chart"></div>
</body>
</html>
./js/data.js
var data = [{name:'第一类',value:20},{name:'第二类',value:23},{name:'第三类',value:45},{name:'第四类',value:34},{name:'第五类',value:14}];
var option = {
tooltip: {
trigger: 'item',
formatter: "{b} : {c} ({d}%)"
},
toolbox:{
show:true,
feature : {
mark : {show: true},
magicType : {
show: true,
type: ['pie', 'funnel']
},
}
},
calculable: true,
series: [{
type: 'pie',
radius: '40%',
startAngle:'45',
label: {
normal: {
show: false
},
emphasis: {
show: false,
textStyle:{
color: '#000000',
fontWeight:'bold',
fontSize:16
}
}
},
lableLine: {
normal: {
show: false
},
emphasis: {
show: false
}
},
data:data
}]
};
实现效果