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

 /**
* Created by haibalai on 2015/9/29.
*/
var HeatLayerAnimate = function()
{ var heatLayerManager; var ajaxTool; var queryVo = new QueryVO(); //设置时间间隔
var timeinterval = 5000; var isStopFlag = false; this.init = function(heatLayerManager1)
{
heatLayerManager = heatLayerManager1;
ajaxTool = new AjaxTool(); } /**
* 添加某个时间段的分色
* @param queryVO
* @param polygon
*/
this.addAnimate = function(queryVO1,polygon)
{
queryVo = queryVO1;
heatLayerManager.addRenderCallBack(queryVO1,polygon,ajaxquery);
} function ajaxquery(param)
{
param.startDate = queryVo.startDate;
param.endDate = queryVo.endDate;
param.layerName= queryVo.layerName;
param.tjfs = queryVo.tjfs;
var str = JSON.stringify(param); //--------------------------------------测试环境用
ajaxTool.getTimeHeatData1(str,ajaxBack);
//------------------------------------- //--------------------------------------真实环境用
//ajaxTool.getTimeHeatData(str,ajaxBack);
//-------------------------------------
} var i = 0;
var len = 0;
var num1 = 0.01;
var obj; function ajaxBack(obj1)
{
num1 = 0.01;
len = obj1.dataarr.length;
i = 0;
obj = obj1; setRender(i); } function setRender(i)
{
if(i < len)
{
if(isStopFlag == false)
{
setTimeout(function()
{
var codeobj = obj.dataarr[i];
renderplay(codeobj,i,setRender);
},timeinterval);
} } } function renderplay(codeobj,i,callback)
{
if(isStopFlag == false)
{
heatLayerManager.ajaxBackFun(codeobj,num1);
// -----------------------------------num1 这一段是我测试用的
num1 = num1 + 0.05;
//--------------------------------------------------------
i++;
callback(i);
} } /**
* 停止动画
*/
this.stopRender = function()
{
isStopFlag = true;
} /**
* 动画再生
*/
this.resumeRender = function()
{
isStopFlag = false;
setRender(i);
} }

javascript的时间描述图怎么写的更多相关文章

  1. javascript的 热点图怎么写

    在gis中,你如果用js来写热点图 不借助后台怎么搞,as的话比较容易有相应的类库甚至官方都有.而且用js不借助arcgis发布rest服务,(注:热点图可以借助服务的形式发布,arcgis for ...

  2. GTD时间管理(3)---时间特区图

    最近在网上看到一副时间特区图,想象非常深,特点想分享给大家. 从上图可以看出 说明一个人全天的状况 说明: 全天时段 状态 7:30-8:00 是处于起床,穿衣,刷牙,吃早餐 8:00-9:00 是处 ...

  3. JavaScript焦点轮播图

    在慕课学习了JavaScript焦点轮播图特效,在此做一个整理. 首先是html结构,我用的是本地同文件夹下的三张图片,多出来的第一张(pic3副本)和最后一张图片(pic1副本)是为了实现无缝切换效 ...

  4. JavaScript日期时间格式化函数

    这篇文章主要介绍了JavaScript日期时间格式化函数分享,需要的朋友可以参考下 这个函数经常用到,分享给大家. 函数代码: //格式化参数说明: //y:年,M:月,d:日,h:时,m分,s:秒, ...

  5. JavaScript.descriptor(属性描述符)

    属性描述符是对JavaScript属性的描述,包括:value.writable.enumerable.configurable,除value其他默认为true. 本文包括: 取得属性描述符. Obj ...

  6. 只有20行Javascript代码!手把手教你写一个页面模板引擎

    http://www.toobug.net/article/how_to_design_front_end_template_engine.html http://barretlee.com/webs ...

  7. Java和JavaScript的时间互传

    原创文章,转载请注明:Java和JavaScript的时间互传 By Lucio.Yang 1.从JavaScript到Java JavaScript: function query(){ var s ...

  8. 详解JavaScript UTC时间转换方法

    这篇文章主要介绍了JavaScript UTC时间转换方法,介绍了本地时间到UTC时间的转换.UTC日期到本地日期的转换,感兴趣的小伙伴们可以参考一下 一.前言 1.UTC: Universal Ti ...

  9. JavaScript 对时间日期格式化

    JavaScript 对时间日期格式化 // 对Date的扩展,将 Date 转化为指定格式的String // 月(M).日(d).小时(h).分(m).秒(s).季度(q) 可以用 1-2 个占位 ...

随机推荐

  1. shiro原理及其运行流程介绍

    shiro原理及其运行流程介绍 认证执行流程 1.通过ini配置文件创建securityManager 2.调用subject.login方法主体提交认证,提交的token 3.securityMan ...

  2. CentOS 7 安装过程中设置网络

    如果在安装过程中需要使用网络,需要启动网卡,默认是DHCP 点击configure进入设置 General 常规设置 Automatically connect to this network whe ...

  3. 思科网络设备配置AAA认证

    思科网络设备配置AAA认证登陆,登陆认证后直接进入#特权模式,下面以Cisco 3750G-24TS-S为例,其他设备配置完全是一样的,进入config terminal后命令如下: 前面是加2个不同 ...

  4. order by关键字

    作用:用于对查询结果进行排序 select * from emp where deptno = 20 order by sal 1.如何决定升序还是降序 默认排序:升序:select * from e ...

  5. selenium和appium启动的感悟

    阅读源码后整理记录如下: selenium : 1.若为webdriver.Chrome()方式启动:①子程序打开chromedriver.exe程序,程序打开后,监听9515端口作为remote_s ...

  6. Could not find a version that satisfies.... No matching distribution found for .....

    原文作者:aircraft 原文链接:https://www.cnblogs.com/DOMLX/p/10227403.html 今天在安装mysql-python的时候报了很多的错误,其中一条就是这 ...

  7. Jquery 在多个相同标签click的问题

    最近在做文章的删除动作,用Jquery来执行操作.但是实现时一开始总是只能对第一个起作用,其他的点击删除后没反应. 一开始的jquery代码是这样的, $('#articledelete').on(' ...

  8. Oracle 创建表空间和用户

    创建用户: 建立表空间和用户的步骤: 用户 建立:create user 用户名 identified by "密码"; 授权:grant create session to 用户 ...

  9. Java Servelet

    1.服务器端运行的程序 2.Servelet三个方法 init service 抽象方法 destory 这三个方法构成了servelet的生命周期 3.步骤 1.在web.xml中 描述了servl ...

  10. vue中过滤器比较两个数组取相同值

    在vue中需要比较两个数组取相同值 一个大数组一个 小数组,小数组是大数组的一部分取相同ID的不同name值 有两种写法,两个for循环和map写法 const toName = (ids, arr) ...