【Openlayers3】在地图上添加highcharts图表

时间:2023-03-08 18:22:14

今天试用了一下ol3,效果很是不错!

ol3中有个ol.Overlay,使用这个类我们可以在地图中添加各种html要素。

下面我们在地图中添加一个饼图

html中添加一个div容器:

 <div style="display: none;">
<div id='canvasDiv' ></div>
<div id="popup" title="Welcome to ol3"></div>
</div>

canvasDiv绑定到地图中:

 var pie = new ol.Overlay({
position: pos,
positioning: ol.OverlayPositioning.CENTER_CENTER,
element: document.getElementById('canvasDiv')
});
map.addOverlay(pie);

定义饼图,填充canvasDiv:

 $(function () {
$('#canvasDiv').highcharts({
chart: {
backgroundColor: 'rgba(255, 255, 255, 0)',
plotBorderColor: null,
plotBackgroundColor: null,
plotBackgroundImage: null,
plotBorderWidth: null,
plotShadow: false,
width: 200,
height: 200,
},
tooltip: {
pointFormat: '{series.name}: <b>{point.percentage:.1f}%</b>'
},
plotOptions: {
pie: {
allowPointSelect: true,
cursor: 'pointer'
}
},
title: {
text: ''
},
dataLabels: {
enabled: false,
color: '#000000',
//distance: -20,
connectorColor: '#000000',
formatter: function() {
return '<b>'+ this.point.name +'</b>: '+ this.percentage +' %';
} },
series: [{
type: 'pie',
name: 'Browser share',
data: [
['Firefox', 45.0],
['IE', 26.8],
{
name: 'Chrome',
y: 12.8,
sliced: true,
selected: true
},
['Safari', 8.5],
['Opera', 6.2],
['Others', 0.7]
]
}]
});
});

效果如下:【Openlayers3】在地图上添加highcharts图表【Openlayers3】在地图上添加highcharts图表【Openlayers3】在地图上添加highcharts图表