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















 
 
 








 
 
 
 