openlayers4 入门开发系列结合 echarts4 实现统计图(附源码下载)
前言
openlayers4 官网的 api 文档介绍地址 openlayers4 api,里面详细的介绍 openlayers4 各个类的介绍,还有就是在线例子:openlayers4 官网在线例子,这个也是学习 openlayers4 的好素材。
openlayers4 入门开发系列的地图服务基于 Geoserver 发布的,关于 Geoserver 方面操作的博客,可以参考以下几篇文章:
内容概览
1.基于 openlayers4 结合 echarts4 实现统计图
2.源代码 demo 下载
效果图如下:
- 地图加载代码如下:
- /**
- * 地图创建初始化
- */
- var map = new ol.Map({
- target: 'map',
- layers: [
- new ol.layer.Tile({
- source: new ol.source.XYZ({
- url: 'http://cache1.arcgisonline.cn/arcgis/rest/services/ChinaOnline' +
- 'StreetPurplishBlue/MapServer/tile/{z}/{y}/{x}'
- })
- })
- ],
- view: new ol.View({
- center: [113.53450137499999, 34.44104525],
- projection: 'EPSG:4326',
- zoom: 6
- })
- });
- echarts数据源设置:
- //饼状图数据源
- var option = {
- title : {
- text: '',
- subtext: '',
- x:'center'
- },
- tooltip : {
- trigger: 'item',
- formatter: "{a} <br/>{b} : {c} ({d}%)"
- },
- legend: {
- orient: 'vertical',
- left: 'left',
- data: ['直接访问','邮件营销','联盟广告','视频广告','搜索引擎'],
- textStyle:{
- color: ['#FFFFFF']
- }
- },
- series : [
- {
- name: '访问来源',
- type: 'pie',
- radius : '55%',
- center: ['50%', '60%'],
- data:[
- {value:335, name:'直接访问'},
- {value:310, name:'邮件营销'},
- {value:234, name:'联盟广告'},
- {value:135, name:'视频广告'},
- {value:1548, name:'搜索引擎'}
- ],
- itemStyle: {
- emphasis: {
- shadowBlur: 10,
- shadowOffsetX: 0,
- shadowColor: 'rgba(0, 0, 0, 0.5)'
- }
- }
- }
- ]
- };
- //柱状图数据源
- var option = {
- tooltip: {
- trigger: 'axis',
- axisPointer: {
- type: 'cross',
- crossStyle: {
- color: 'rgba(0, 0, 0, 0.5)'
- },
- label: {
- backgroundColor: 'rgba(0, 0, 0, 0.5)'
- }
- }
- },
- toolbox: {
- feature: {
- dataView: {show: false, readOnly: false},
- magicType: {show: false, type: ['line', 'bar']},
- restore: {show: false},
- saveAsImage: {show: false}
- }
- },
- legend: {
- data:['蒸发量','降水量','平均温度'],
- textStyle:{
- color: ['#FFFFFF']
- }
- },
- xAxis: [
- {
- type: 'category',
- data: ['1月','2月','3月','4月','5月','6月','7月','8月','9月','10月','11月','12月'],
- axisPointer: {
- type: 'shadow'
- },
- nameTextStyle: {
- color: ['#FFFFFF']
- },
- axisLine:{
- lineStyle:{
- color:'#FFFFFF',
- width:1,//这里是为了突出显示加上的
- }
- }
- }
- ],
- yAxis: [
- {
- type: 'value',
- name: '水量',
- min: 0,
- max: 250,
- interval: 50,
- axisLabel: {
- formatter: '{value} ml'
- },
- nameTextStyle: {
- color: ['#FFFFFF']
- },
- axisLine:{
- lineStyle:{
- color:'#FFFFFF',
- width:1,//这里是为了突出显示加上的
- }
- }
- },
- {
- type: 'value',
- name: '温度',
- min: 0,
- max: 25,
- interval: 5,
- axisLabel: {
- formatter: '{value} °C'
- },
- nameTextStyle: {
- color: ['#FFFFFF']
- },
- axisLine:{
- lineStyle:{
- color:'#FFFFFF',
- width:1,//这里是为了突出显示加上的
- }
- }
- }
- ],
- series: [
- {
- name:'蒸发量',
- type:'bar',
- data:[2.0, 4.9, 7.0, 23.2, 25.6, 76.7, 135.6, 162.2, 32.6, 20.0, 6.4, 3.3]
- },
- {
- name:'降水量',
- type:'bar',
- data:[2.6, 5.9, 9.0, 26.4, 28.7, 70.7, 175.6, 182.2, 48.7, 18.8, 6.0, 2.3]
- },
- {
- name:'平均温度',
- type:'line',
- yAxisIndex: 1,
- data:[2.0, 2.2, 3.3, 4.5, 6.3, 10.2, 20.3, 23.4, 23.0, 16.5, 12.0, 6.2]
- }
- ]
- };
- 统计图初始化加载:
- //饼状图加载
- var dom = document.getElementById("popupPie");
- var pos = ol.proj.fromLonLat([113.53450137499999, 34.44104525],'EPSG:4326');
- var popupPie = new ol.Overlay({
- position: pos,
- element: dom
- });
- map.addOverlay(popupPie);
- var myChart = echarts.init(dom);
- myChart.setOption(option);
- //柱状图加载
- var dom = document.getElementById("popupBar");
- var pos = ol.proj.fromLonLat([112.5245, 28.4211],'EPSG:4326');
- var popupBar = new ol.Overlay({
- position: pos,
- element: dom
- });
- map.addOverlay(popupBar);
- var myChart = echarts.init(dom);
- myChart.setOption(option);
完整demo源码见小专栏文章尾部:GIS之家leaflet小专栏
文章尾部提供源代码下载,对本专栏感兴趣的话,可以关注一波
openlayers4 入门开发系列结合 echarts4 实现统计图(附源码下载)的更多相关文章
- openlayers5-webpack 入门开发系列结合 echarts4 实现散点图(附源码下载)
前言 openlayers5-webpack 入门开发系列环境知识点了解: node 安装包下载webpack 打包管理工具需要依赖 node 环境,所以 node 安装包必须安装,上面链接是官网下载 ...
- openlayers4 入门开发系列之热力图篇(附源码下载)
前言 openlayers4 官网的 api 文档介绍地址 openlayers4 api,里面详细的介绍 openlayers4 各个类的介绍,还有就是在线例子:openlayers4 官网在线例子 ...
- openlayers4 入门开发系列之图层控制(附源码下载)
前言 openlayers4 官网的 api 文档介绍地址 openlayers4 api,里面详细的介绍 openlayers4 各个类的介绍,还有就是在线例子:openlayers4 官网在线例子 ...
- openlayers5-webpack 入门开发系列一初探篇(附源码下载)
前言 openlayers5-webpack 入门开发系列环境知识点了解: node 安装包下载webpack 打包管理工具需要依赖 node 环境,所以 node 安装包必须安装,上面链接是官网下载 ...
- cesium-webpack 入门开发系列一初探篇(附源码下载)
前言 cesium-webpack 入门开发系列环境知识点了解: node 安装包下载webpack 打包管理工具需要依赖 node 环境,所以 node 安装包必须安装,上面链接是官网下载地址 we ...
- leaflet-webpack 入门开发系列一初探篇(附源码下载)
前言 leaflet-webpack 入门开发系列环境知识点了解: node 安装包下载webpack 打包管理工具需要依赖 node 环境,所以 node 安装包必须安装,上面链接是官网下载地址 w ...
- arcgis api 3.x for js入门开发系列九热力图效果(附源码下载)
前言 关于本篇功能实现用到的 api 涉及类看不懂的,请参照 esri 官网的 arcgis api 3.x for js:esri 官网 api,里面详细的介绍 arcgis api 3.x 各个类 ...
- arcgis api 3.x for js 入门开发系列八聚合效果(附源码下载)
前言 关于本篇功能实现用到的 api 涉及类看不懂的,请参照 esri 官网的 arcgis api 3.x for js:esri 官网 api,里面详细的介绍 arcgis api 3.x 各个类 ...
- arcgis api 3.x for js 入门开发系列七图层控制(附源码下载)
前言 关于本篇功能实现用到的 api 涉及类看不懂的,请参照 esri 官网的 arcgis api 3.x for js:esri 官网 api,里面详细的介绍 arcgis api 3.x 各个类 ...
随机推荐
- 插入排序的代码实现(C语言)
void insert_sort(int arr[], int len) { for (int i = 1; i < len; ++i) { if (arr[i] < arr[i - 1] ...
- 基于Windows下永久破解jetbrains公司的系列产品(Idea, pycharm,clion,phpstorm)
基于Windows下永久破解jetbrains公司的系列产品(Idea, pycharm,clion,phpstorm): PS : 有能力的建议购买正版,好吧. PS:均针对其对应的2018.3.1 ...
- pat 1065 A+B and C (64bit)(20 分)(大数, Java)
1065 A+B and C (64bit)(20 分) Given three integers A, B and C in [−263,263], you are supposed t ...
- 领扣(LeetCode)有效的括号 个人题解
给定一个只包括 '(',')','{','}','[',']' 的字符串,判断字符串是否有效. 有效字符串需满足: 左括号必须用相同类型的右括号闭合. 左括号必须以正确的顺序闭合. 注意空字符串可被认 ...
- three.js使用卷积法实现物体描边效果
法线延展法 网上使用法线延展法实现物体描边效果的文章比较多,这里不再描述. 但是这种方法有个缺点:当两个面的法线夹角差别较大时,两个面的描边无法完美连接.如下图所示: 卷积法 这里使用另一种方法卷积法 ...
- keypress 和 blur 事件冲突的问题
需求:点击需求:点击添加标签,出来input框,内容输入完成后点击enter键和blur时都可以执行提交标签的效果,提交时对内容进行判断,执行完成后清除input内的内容.如下图 问题:内容输入完成后 ...
- PostGIS 导入SHP文件并与ArcGIS连接
运行环境: ArcGIS10.4 PostGreSql9.4 PostGIS2.2(需勾选空间数据库,否则需要重新安装) 实现步骤: 方法一: 1.打开pgAdminIII,数据库节点上右键,新建数据 ...
- 解决php使用支付宝SDK报错问题
最近公司将一些项目转移了服务器,后来发现使用支付宝支付时发现出现错误,错误如下: 1 The each() function is deprecated. This message will be s ...
- H3C交换机console登录配置 v7
一.通过con口只需输入password登陆交换机. [H3C]user-interface aux 0 设置认证方式为密码验证方式 [H3C-ui-aux0] authentication-mode ...
- 2019-9-17:渗透测试,基础学习,apache初识,mysql初识等笔记
python -m SimpleHTTPServer gedit 文本编辑器 apache2 默认配置文件目录:/etc/apache2/apache2默认首页源码: /var/www/html my ...