深入淺出ArcGIS 9.3 Javascript API(一)

我只想快速開發簡單的Web GIS應用,有沒有比ADF控件再簡潔一些的方式?我不想記那些複雜的AO接口,可是又喜歡ArcGIS Server漂亮的地圖和強大的功能,怎麼辦?好吧,在9.2時代,面對這些問題,我們很頭疼,但是ArcGIS Server 9.3已經插上了REST的翅膀!ArcGIS的fans們興奮吧!期待吧!
    雖然有些枯燥,但是技術細節總是繞不開的,ArcGIS Server 9.3以全新的REST方式實現了一些ArcGIS Server通用功能和服務,便於ArcGIS Server客戶端開發,如javascript api。安裝了ArcGIS Server 9.3之後,可以通過"http://<host>/<instance>/services/<folder>"方式來訪問服務的根目錄。其中"instance"默認爲"arcgis/rest",裏面列舉了當前服務器上所有已啓動的server服務,並且可以將這些服務列表導入Google Earth,格式爲kmz。REST訪問地址中,folder和service name是對大小寫敏感的,folder前面的部分則沒有影響。

    點擊根目錄列舉的一個服務,頁面會展示該服務的所有基本信息,包括地圖圖層、圖層編號、空間參考、部分cache信息、初始化地圖顯示範圍、地圖全圖顯示範圍、地圖單位、MXD文檔基本信息。

    發現其中的妙處了嗎?現在只需要通過Http的URI就可以輕鬆的訪問到ArcGIS Server的地圖和服務了,我們要介紹的Javascript API就是基於這種方式實現的。REST本身其實是一個完美的技術理想,並沒有這麼簡單,不過我們並沒有必要搞清楚REST的所有細節才能享受到它帶來的好處。還是讓我們來看看基於REST構架的Javascript API吧,這纔是更值得我們關注的!


第一章 基本框架

    首先來看看JavaScript API是什麼。JavaScript API是ArcGIS Server 9.3新增的一套API框架,爲創建WebGIS應用提供了輕量級的解決方案,在客戶端可以輕鬆地利用JavaScript API來調用ArcGIS Server所提供的服務,實現地圖應用和地理處理功能。最讓人興奮的是這一切操作都是在客戶端僅僅用腳本調用服務器端的接口完成的,不需要寫任何的服務器端代碼。

    熟悉ArcIMS的人一定還記得曾經風靡一時的ArcIMS Blueviewer示例框架。裏面的所有操作都是基於客戶端實現,放大縮小平移都是在javascript腳本中完成的,將結果返回服務器得到我們所需的圖片。當時這個Demo讓很多人耳目一新。熟悉Blueviewer的程序員能夠更好的把握WebGIS開發中的基礎流程,並在其基礎上寫出漂亮的WebGIS+Ajax應用。類似的,JavaScript API也是純粹的客戶端操作,但是它基於更新更炫的Dojo庫,並用面向對象的方式重新封裝了功能。

    理論上我們可以對JavaScript API無限擴展,以實現ArcGIS Server所有服務器端功能,目前已經封裝好的基礎功能有:

1.以用戶數據和服務器端服務結合顯示交互性的地圖
2.執行一個GIS空間分析模型並顯示結果
3.在ArcGIS在線基礎地圖上顯示我們自己的數據
4.對屬性或幾何圖形進行搜索並顯示結果
5.搜索地址並顯示結果

    JavaScript API包含的資源組件有:

    Maps--支持ArcGIS Server上cache和非cache地圖的顯示,還可以在客戶端按需要指定投影參考系,這樣就可以輕鬆實現跟各種標準地圖服務的疊加

    Graphics--繪圖,和通過鼠標、鍵盤等操作實現屬性信息的展示或地理操作

    Tasks--和ADF Tasks類似,提供Querying、Finding addresses、Finding attributes、Identifying features、Geoprocessing等豐富的GIS功能

    基於Dojo和其他庫進行擴展--比如利用Dojo widgets,google maps api,virtual earth api等等。

    ESRI選擇Dojo作爲JavaScript API基礎庫有如下幾點好處:

1.Dojo寬鬆的使用許可,基於標準的開放式應用
2.Dojo功能全面,事件設計模式、矢量圖形支持、顯示效果、widgets、Ajax、JSON等都是ArcGIS Server客戶端開發所需要的,並且Dojo利於擴展,方便Mashup應用,並且有大量的參考資料
3.IBM、Sun、AOL等公司的支持,可輕鬆跟各種大型系統集成

本篇文章來源於 GIS空間站 轉載請以鏈接形式註明出處 網址:http://www.gissky.net/Article/1397.htm

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章