深入淺出 Javascript API的基本框架
Javascript API是ArcGIS Server 9.3新增的一套API框架,為創(chuàng)建WebGIS應用提供了輕量級的解決方法,在客戶端利用ags所提供的服務,就能實現地圖應用和地理功能。
還記得ArcIMS Blueviewer示例框架,里面的所有操作都是基于客戶端實現,放大縮小平移都是在javascript腳本中完成參數計算,將結果返回服務器得到我們所需的圖片,重寫過Blueviewer的程序員能夠更好的把握webgis開發(fā)中的基礎流程,并在此基礎上寫出漂亮的webgis+ajax應用,這種方法有點類似于ags93的javascript api,只不過后者基于dojo庫,并用面向對象的方式封裝了基礎功能。
理論上我們可以對Javascript API無限擴展,以實現Ags所有服務器端功能,目前它所提供的基礎功能有:
1.以自己數據為基礎顯示交互性的地圖
2.執(zhí)行一個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客戶端開發(fā)所需要的,并且Dojo利于擴展,方便Mashup應用
3.IBM、Sun、AOL等公司的支持
Dojo存在的效率問題,但我運行一些示例代碼時還沒有碰到,以后會特別關注,目前還沒有自己去擴展widget,也暫時沒有碰到這方面的問題,不管如何,客戶端應用和Mashup是今后WebGIS的一個主流發(fā)展方向,ESRI開發(fā)團隊對待Dojo問題應該有過慎重考慮,不管是否GISer,在ESRI Ags采用Dojo作為Javascript API庫基礎核心后,都應該對Dojo的發(fā)展更有信心。
【編輯推薦】