深入浅出 Javascript API的基本框架

开发 后端
Javascript API是ArcGIS Server 9.3新增的一套API框架,为创建WebGIS应用提供了轻量级的解决方法,在客户端利用ags所提供的服务,就能实现地图应用和地理功能。

Javascript API是ArcGIS Server 9.3新增的一套API框架,为创建WebGIS应用提供了轻量级的解决方法,在客户端利用ags所提供的服务,就能实现地图应用和地理功能。

还记得ArcIMS Blueviewer示例框架,里面的所有操作都是基于客户端实现,放大缩小平移都是在javascript脚本中完成参数计算,将结果返回服务器得到我们所需的图片,重写过Blueviewer的程序员能够更好的把握webgis开发中的基础流程,并在此基础上写出漂亮的webgis+ajax应用,这种方法有点类似于ags93的javascript api,只不过后者基于dojo库,并用面向对象的方式封装了基础功能。

理论上我们可以对Javascript API无限扩展,以实现Ags所有服务器端功能,目前它所提供的基础功能有:

1.以自己数据为基础显示交互性的地图
2.执行一个GIS模型并显示结果
3.在ArcGIS在线基础地图上显示我们自己的数据
4.对属性或几何图形进行搜索并显示结果
5.搜索地址并显示结果

Javascript API包含的资源组件有:

Maps--支持Ags上cache和非cache地图的显示,指定投影参考系
Graphics--绘图,和通过鼠标、键盘等操作实现属性信息的展示或地理操作
Tasks--和ADF Tasks有点类似,提供Querying、Finding addresses、Finding attributes、Identifying features、Geoprocessing功能
基于Dojo和其他库进行扩展--比如利用Dojo widgets,google maps api,virtual earth api等等

Dojo不如EXT使用的广泛,也存在一些争议,但ESRI选择dojo作为Javascript API基础库我觉得原因有如下几点:

1.Dojo宽松的使用许可
2.Dojo功能全面,事件设计模式、矢量图形支持、显示效果、widgets、Ajax、JSON等都是Ags客户端开发所需要的,并且Dojo利于扩展,方便Mashup应用
3.IBM、Sun、AOL等公司的支持

Dojo存在的效率问题,但我运行一些示例代码时还没有碰到,以后会特别关注,目前还没有自己去扩展widget,也暂时没有碰到这方面的问题,不管如何,客户端应用和Mashup是今后WebGIS的一个主流发展方向,ESRI开发团队对待Dojo问题应该有过慎重考虑,不管是否GISer,在ESRI Ags采用Dojo作为Javascript API库基础核心后,都应该对Dojo的发展更有信心。

【编辑推荐】

  1. 专题:Java实用开发全集_51CTO.COM
  2. Java开发者盛宴:JavaOne 2009技术前瞻
  3. http://developer.51cto.com/art/200904/119400.htm
  4. Flex连接Java EE的技术选择
  5. 高手Java核心技术学习笔记
责任编辑:张燕妮 来源: cnblogs
相关推荐

2009-06-18 10:23:03

Javascript 基本框架

2022-09-26 09:01:15

语言数据JavaScript

2012-02-21 13:55:45

JavaScript

2022-10-31 09:00:24

Promise数组参数

2023-12-04 13:22:00

JavaScript异步编程

2010-07-16 09:11:40

JavaScript内存泄漏

2011-05-30 14:41:09

Javascript闭

2021-03-16 08:54:35

AQSAbstractQueJava

2011-07-04 10:39:57

Web

2022-05-26 09:20:01

JavaScript原型原型链

2022-12-02 09:13:28

SeataAT模式

2009-11-30 16:46:29

学习Linux

2019-11-11 14:51:19

Java数据结构Properties

2017-07-02 18:04:53

块加密算法AES算法

2012-05-21 10:06:26

FrameworkCocoa

2019-01-07 15:29:07

HadoopYarn架构调度器

2021-07-20 15:20:02

FlatBuffers阿里云Java

2017-10-10 14:36:07

前端Javascriptapply、call、

2016-12-27 09:10:29

JavaScript原型链继承

2023-03-20 09:48:23

ReactJSX
点赞
收藏

51CTO技术栈公众号