深入淺出談Javascript API基本框架
還記得ArcIMSBlueviewer示例框架,里面的所有操作都是基于客戶端實現(xiàn),放大縮小平移都是在Javascript腳本中完成參數(shù)計算,將結(jié)果返回服務器得到我們所需的圖片,重寫過Blueviewer的程序員能夠更好的把握webgis開發(fā)中的基礎(chǔ)流程,并在此基礎(chǔ)上寫出漂亮的webgis+ajax應用,這種方法有點類似于ags93的Javascript API,只不過后者基于dojo庫,并用面向?qū)ο蟮姆绞椒庋b了基礎(chǔ)功能。
理論上我們可以對Javascript API無限擴展,以實現(xiàn)Ags所有服務器端功能,目前它所提供的基礎(chǔ)功能有:
1.以自己數(shù)據(jù)為基礎(chǔ)顯示交互性的地圖
2.執(zhí)行一個GIS模型并顯示結(jié)果
3.在ArcGIS在線基礎(chǔ)地圖上顯示我們自己的數(shù)據(jù)
4.對屬性或幾何圖形進行搜索并顯示結(jié)果
5.搜索地址并顯示結(jié)果
Javascript API包含的資源組件有:
Maps--支持Ags上cache和非cache地圖的顯示,指定投影參考系
Graphics--繪圖,和通過鼠標、鍵盤等操作實現(xiàn)屬性信息的展示或地理操作
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基礎(chǔ)庫我覺得原因有如下幾點
1.Dojo寬松的使用許可
2.Dojo功能全面,事件設(shè)計模式、矢量圖形支持、顯示效果、widgets、Ajax、JSON等都是Ags客戶端開發(fā)所需要的,并且Dojo利于擴展,方便Mashup應用
3.IBM、Sun、AOL等公司的支持
Dojo存在的效率問題,但我運行一些示例代碼時還沒有碰到,以后會特別關(guān)注,目前還沒有自己去擴展widget,也暫時沒有碰到這方面的問題,不管如何,客戶端應用和Mashup是今后WebGIS的一個主流發(fā)展方向,ESRI開發(fā)團隊對待Dojo問題應該有過慎重考慮,不管是否GISer,在ESRI Ags采用Dojo作為Javascript API庫基礎(chǔ)核心后,都應該對Dojo的發(fā)展更有信心。
【編輯推薦】