博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
javascript的时间描述图怎么写
阅读量:4992 次
发布时间:2019-06-12

本文共 3063 字,大约阅读时间需要 10 分钟。

 在gis系统中往往需要在一个时间间隔内把图形动态播放出来,比如2000年到现在地震变化啊,海啸的变化,在flex中这种展现方式需要后台rest服务相结合,要建立有时间点的图层,arcgis发布要选timeinfo属性,如果我们不用后台,数据格式是json或者xml形式应该怎么做呢,在flex中还有帧动画这个东东,在javascript应该怎么写呢,因为这个表现形式要以数据做支持,而且要在一个地图底图上叠加不断展现,现有javascript动画库是用不上了,很多都是css动画和canvas(html5)的,但是可以用settime这个函数展示这种变化,比如说某某月到某某月热点图的变化。写了一个热点图时间描述。

1 /**  2  * Created by haibalai on 2015/9/29.  3  */  4 var HeatLayerAnimate = function()  5 {  6   7     var heatLayerManager;  8   9     var ajaxTool; 10  11     var queryVo = new QueryVO(); 12  13     //设置时间间隔 14     var timeinterval = 5000; 15  16     var isStopFlag = false; 17  18     this.init = function(heatLayerManager1) 19     { 20         heatLayerManager = heatLayerManager1; 21         ajaxTool = new AjaxTool(); 22  23     } 24  25     /** 26      * 添加某个时间段的分色 27      * @param queryVO 28      * @param polygon 29      */ 30     this.addAnimate = function(queryVO1,polygon) 31     { 32         queryVo = queryVO1; 33         heatLayerManager.addRenderCallBack(queryVO1,polygon,ajaxquery); 34     } 35  36  37  38     function ajaxquery(param) 39     { 40         param.startDate = queryVo.startDate; 41         param.endDate = queryVo.endDate; 42         param.layerName= queryVo.layerName; 43         param.tjfs = queryVo.tjfs; 44         var str =   JSON.stringify(param); 45  46         //--------------------------------------测试环境用 47         ajaxTool.getTimeHeatData1(str,ajaxBack); 48         //------------------------------------- 49  50  51         //--------------------------------------真实环境用 52         //ajaxTool.getTimeHeatData(str,ajaxBack); 53         //------------------------------------- 54     } 55  56     var i = 0; 57     var len = 0; 58     var num1 = 0.01; 59     var obj; 60  61     function ajaxBack(obj1) 62     { 63         num1 = 0.01; 64         len = obj1.dataarr.length; 65         i = 0; 66         obj = obj1; 67  68         setRender(i); 69  70     } 71  72     function setRender(i) 73     { 74         if(i < len) 75         { 76             if(isStopFlag == false) 77             { 78                 setTimeout(function() 79                 { 80                     var codeobj = obj.dataarr[i]; 81                     renderplay(codeobj,i,setRender); 82                 },timeinterval); 83             } 84  85         } 86  87     } 88  89     function renderplay(codeobj,i,callback) 90     { 91         if(isStopFlag == false) 92         { 93             heatLayerManager.ajaxBackFun(codeobj,num1); 94             // -----------------------------------num1 这一段是我测试用的 95             num1 = num1 + 0.05; 96             //-------------------------------------------------------- 97             i++; 98             callback(i); 99         }100 101     }102 103     /**104      * 停止动画105      */106     this.stopRender = function()107     {108         isStopFlag = true;109     }110 111     /**112      * 动画再生113      */114     this.resumeRender = function()115     {116         isStopFlag = false;117         setRender(i);118     }119 120 121 122 }

 

转载于:https://www.cnblogs.com/haibalai/p/5030869.html

你可能感兴趣的文章
selenium+maven+testng+IDEA+git自动化测试环境搭建(二)
查看>>
Mini2440 UART原理及使用
查看>>
Linux学习第六篇之文件处理命令ln(链接命令)
查看>>
thinkphp5 tp5 七牛云 上传图片
查看>>
VM下Linux网卡丢失(pcnet32 device eth0 does not seem to be ...)解决方案
查看>>
第一阶段意见汇总以及改进
查看>>
再说virtual
查看>>
随笔:技术流可以这样写博客
查看>>
[优化]JavaScript 格式化带有占位符字符串
查看>>
打JAR包
查看>>
大图轮播
查看>>
UNIX环境高级编程读书笔记
查看>>
java awt 乱码问题
查看>>
矩阵中的路径
查看>>
unity回调函数范例
查看>>
linux下给php安装curl、gd(ubuntu)
查看>>
Java自带的Logger使用-代码摘要
查看>>
Java设计模式系列 — 构造器模式
查看>>
MySQL执行计划explain的key_len解析
查看>>
Windows Phone开发(9):关于页面状态 转:http://blog.csdn.net/tcjiaan/article/details/7292160...
查看>>