• javascript的时间描述图怎么写


     在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 }
  • 相关阅读:
    Pod中spec的字段常用字段及含义
    day62-无名有名分组反向解析,路由分发,视图层等
    day61-数据增删改查,orm表关系,django请求生命周期流程图
    day60-静态文件,数据库,ORM
    day59-简易版本的web框架,django框架初识
    day58-jquery后续,前端BootSrtap,图书管理系统搭建
    day57-jQuery练习与操作,各种事件
    day56-js,jquery
    day55-js
    day54-js类型与对象
  • 原文地址:https://www.cnblogs.com/haibalai/p/5030869.html
Copyright © 2020-2023  润新知