注册 登录  
 加关注
查看详情
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

快乐小屋

 
 
 

日志

 
 

ArcGIS JavaScript API 2.0初探  

2012-04-14 21:21:53|  分类: Javascript |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
昨晚对比了一下ArcGIS Javascript. API 2.0和以前版本的JSAPI,发现无论从功能和性能上都改变了不少。主要体现在以下几个方面(当然还有其他的细节改动,这里只列出其中几点)。
    1)ArcGIS Javascript. API 2.0支持在线编辑功能。当然了,这并不是说这次的API更新加入了在线编辑的功能,而是随着ArcGIS Server 10的发布,在服务端新增了FeatureService这种服务。在服务发布的时候勾选上Feature Access选项,才能通过ArcGIS Javascript. API 2.0脚本在线编辑。值得注意的是,只有数据源注册为版本才能发布为FeatureService,也就是说文件型数据、personal geodatabase、file geodatabase都不支持这类型服务。

    2)加入FeatureLayer功能。在以往的JavaScript. API中支持动态服务和缓存服务,这两种服务都是以层的方式加载到地图中去的,除了这两种层之外,还有graphicsLayer(1.4版本以后可以以 new的方式创建多个graphicsLayer),可用于客户端的图形绘制。FeatureLayer更类似是graphicsLayer的扩展,可以 对Feature Service进行直接查找并把结果在客户端绘制。以往我们要对服务中某个图层进行查找,一般都是使用QueryTask的方式,通过返回图形,再在客户 端绘制。而FeatureLayer更直接些,可以通过输入条件参数,直接把结果在客户端绘制。更重要的是,FeatureLayer与在线编直接的客户 端对地理数据进行直接的编辑。例子链接http://help.arcgis.com/en/webapi/javascript/arcgis/demos/ed/ed_selectionmode.html

    3)支持时态功能。ArcGIS 10 新加入时态功能在ArcGIS Javascript. API 2.0脚本中依然得到体验,可以通过简单的代码编写式来实现时态数据的显示。以往的api也能实现这类型的功能,通过在客户端设置计时器,在时间间隔内到 服务器查找数据并把记过绘制在客户端。2.0脚本直接实现了这功能。实例参看http://help.arcgis.com/en/webapi/javascript/arcgis/demos/time/time_sliderwithdynamiclayer.html

    4)支持其他的js框架,如ext、jQuery。在之前的文章已经讲述过如何在ext框架下利用arcgis Javascript搭建地图系统,可参考  http://www.gisall.com/?uid-122747-action-viewspace-itemid-3185  链接 。在2.0以前的版本,esri没有明确说明可以配合其他js框架一起使用,但熟悉js开发的程员都知道,把arcgis js API嵌入到其他框架中是一件很简单的事情。而这一次,在esri的帮助网站中,直接给出了ext和jQuery的例子。在例子中我们可以发现,连缩放比 例尺的样式都可以使用这些流行的框架的样式,可见esri在js api 方面的决心。例子http://help.arcgis.com/en/webapi/javascript/arcgis/demos/framework/framework_extjs.html 。虽然只是简单的实例,但可以肯定的是,随着api的更新,esri 开发框架会有更好的支持。

    5)更好的支持字符编码。相信使用过2.0以前的版本的开发者会有这样的体会,某些数据要从数据库读出,而数据库的字符编码诸如GBK、GB2312等, 需要在客户端强制指定字符编码。在引用了arcgis js api以后,如果网页的charset设为非utf-8的编码,就会出现一个经典的错误,”dojo未定义“。这主要是由于dojo库里面charset 使用的编码是utf-8的缘故。这样,开发者如果使用utf-8编码,就会使得从其他数据源获取的数据出现乱码(当然,地图数据不会)。要解决这类的问 题,通常做法是在获取了数据库数据以后进行字符编码的转换。每次获取的数据都要编码转换当然是个烦心的事情,但这又是必须的工作。在2.0脚本中,经过笔 者测试,在网页中指定其他非utf-8编码,不会再报”dojo未定义“这个错误,也就是说可以直接在网页中指定总体的编码而不用担心数据库字符编码与网 页编码不一致的问题,从而彻底的释放编码转换的工作。

    6)客户端绘制graphic的性能有所提高。经过测试,在客户端绘制图形的性能比以前有所提升。一开始笔者以为这只是错觉,通过引用不同版本的脚本,同 一段代码绘制200个图形,2.0脚本的绘制速度的确要比1.5的高。通过查看ArcGIS Server的一些配置,笔者也发现一个有趣的地方,以前基于性能的考虑,esri把查找的最大记录数默认设置为500。在arcgis10版本中,这个 最大记录数已经设置为1000了,这也更好的说明,esri已经在客户端显示这一块性能有一定的提升,不然也不会轻易修改这个默认值。
  评论这张
 
阅读(378)| 评论(0)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2018