echarts 地图 动态 展示 结合css+js
echarts地图展示功能非常强大,官网上静态展示的样例非常多了,动态的资料少。研究了下。我眼下实现的通过ajax从server获取数据动态展示地图。
另外,我们有时候希望在地图之上做些自己定义的东西,比方:通知框。或者其它的东西。我们能够通过css图层的方式在地图之上实现。我实现的效果例如以下:
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">
附上源码:
- <!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;
- width: 400px;
- height: 540px;
- position: absolute;
- padding: 0 10px;
- }
- </style>
- </head>
- <body>
- <div id="board" class="divcss5-1"></div>
- <!--Step:1 Prepare a dom for ECharts which (must) has size (width & hight)-->
- <!--Step:1 为ECharts准备一个具备大小(宽高)的Dom-->
- <!--<div id="main" style="height:500px;border:1px solid #ccc;padding:10px;"></div>-->
- <div id="mainMap" style="height: 700px; border: 0px solid #ccc; padding: 10px;margin:25px 0;"></div>
- <!--Step:2 Import echarts.js-->
- <!--Step:2 引入echarts.js-->
- <script src="/js/echarts/dist/echarts-all.js"></script>
- <script src="/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的更多相关文章
- 文字添加响应事件,js动态加载CSS, js弹出DIV
文字添加响应事件,js动态加载CSS, js弹出DIV <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN&qu ...
- 动态加载css,js
function dynamicLoadCss(url) { var head = document.getElementsByTagName('head')[0]; var link = docum ...
- js实用方法记录-js动态加载css、js脚本文件
js实用方法记录-动态加载css/js 附送一个加载iframe,h5打开app代码 1. 动态加载js文件到head标签并执行回调 方法调用:dynamicLoadJs('http://www.yi ...
- Echarts 地图上显示数值
Echarts 地图上展示数值,效果如下: 上代码:关键代码用红色 series: [ { //name: '香港18区人口密度', type: 'map', mapType: 'jiangsu', ...
- echarts实现中国地图数据展示
在项目中运用到图形展示数据太常见了,echarts是一款使用率非常高的插件工具,很多大平台都是使用echarts: 一般运用到条形.折线.扇形图,今天说一说在中国地图上展示各地数据: 首先要准备中国地 ...
- 在echarts里在geojson绘制的地图上展示散点图(气泡)、线集。
先来要实现的效果图: 下方图1是官网的案例:http://www.echartsjs.com/gallery/editor.html?c=scatter-map 下图2是展示气泡类型为pin的效果: ...
- Echarts地图展示及属性分析
Echarts,一个效果非常棒的可视化库,可以生产各种图表,动态展示,附上官方网址:http://www.echartsjs.com/index.html 之前带本科实习时有同学用过,狗哥的博客也用这 ...
- react使用echarts地图实现中国地图大区展示
日常项目中经常会用到百度地图或者echarts图标展示,今天给大家展示的是如何在react开发项目中使用百度echars的地图展示,把中国地图分为东北大区.华东大区.华南大区.华西大区.华中大区以及华 ...
- 用JavaScript动态加载CSS和JS文件
本文转载自:http://www.cnblogs.com/xiaochaohuashengmi/archive/2011/11/14/2248451.html 今天项目中需要用到动态加载 CSS 文件 ...
随机推荐
- Vue父子组件之间的通讯(学习笔记)
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- Jquery学习总结(4)——高效Web开发的10个jQuery代码片段
在过去的几年中,jQuery一直是使用最为广泛的JavaScript脚本库.今天我们将为各位Web开发者提供10个最实用的jQuery代码片段,有需要的开发者可以保存起来. 1.检测Internet ...
- DCL授权命令
create user 用户名//创建用户 grant DBA to 用户名//授权 revoke //撤销权限
- 分库代价高的情况下,如何优化ES解决亿级数据量检索
数据平台已迭代三个版本,从一开始遇到很多常见的难题,到现在终于有片段时间整理一些已完善的文档,在此分享以供所需朋友的实现参考,但愿能帮助大家少走些弯路,在此篇幅中偏重于ElasticSearch的优化 ...
- ASP.NET-Session与复杂数据类型
原文链接:http://www.cnblogs.com/fish-li/archive/2013/05/28/3104750.html Session与复杂数据类型 Session有三种工作模式,拿A ...
- 彻底理解tomcat是怎样多线程处理http请求并将代码执行到controller里的的
彻底理解tomcat是怎样多线程处理http请求并将代码执行到controller里的的 1.线程池,thread = threadPool.getThread(),thread.executeHtt ...
- n个骰子,和为x的概率分别是多少
开始我居然又没有想出来.. 还是看了解法.开始的时候,一直想的是用概率,百分比来求,后来才发现,用次数来求,最后除一下,更近清晰. 方法,可以是递归,每次多一个骰子的时候,次数分别加上个数以及上一次i ...
- POJ 3071
求概率.其实跟枚举差不多,输入n即是要进行n轮比赛.对每一支球队,设求1的概率,首先1要与2比赛为p1,这是第一轮,第二轮时,1要与3(打败3为p2),4(打败4为p3)中胜者比赛,由于是概率,则两者 ...
- HDU 4308 Contest 1
纯BFS+优先队列扩展. #include <iostream> #include <cstdio> #include <cstring> #include < ...
- Java採用JNI调用VC++生成的dll(Java与C++交互)
应项目需求,须要android调用java,java再调用C++实现android一个图片匹配的功能,我们作为java组须要和C++和Android进行交互.以下是java和C++採用JNI的方式进行 ...