深入浅出谈Javascript API基本框架
还记得ArcIMSBlueviewer示例框架,里面的所有操作都是基于客户端实现,放大缩小平移都是在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应用