AGS JS 開發(fā).ppt_第1頁
AGS JS 開發(fā).ppt_第2頁
AGS JS 開發(fā).ppt_第3頁
AGS JS 開發(fā).ppt_第4頁
AGS JS 開發(fā).ppt_第5頁
已閱讀5頁,還剩31頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、王嘉彬 2008.11.28,ArcGIS JavaScript API 開發(fā)講座,1,議程,介紹 一些REST的概念 ArcGIS Services Directory / REST API Admin 支持的服務(wù)類型 ArcGIS Javascript API的主要功能 ArcGIS Javascript API的數(shù)據(jù)基礎(chǔ) ArcGIS Javascript API的開發(fā),2,議程,介紹 一些REST的概念 ArcGIS Services Directory / REST API Admin 支持的服務(wù)類型 ArcGIS Javascript API的主要功能 ArcGIS Javascr

2、ipt API的數(shù)據(jù)基礎(chǔ) ArcGIS Javascript API的開發(fā),3,什么是ArcGIS Javascripts API,ArcGIS Server 9.3 新推出的API 基于ArcGIS Server REST Services(REST API) ArcGIS Server for Microsoft .NET Framework ArcGIS Server for Java Platform Javascript是現(xiàn)今流行的客戶端腳本開發(fā)語言 基于著名的“Dojo”工具包 簡(jiǎn)單便捷, 純客戶端的開發(fā)方式 性能提升有保障 (REST CAHCING),4,5,議程,介紹 一些R

3、EST的概念 ArcGIS Services Directory / REST API Admin 支持的服務(wù)類型 ArcGIS JavaScript API的主要功能 ArcGIS JavaScript API的數(shù)據(jù)基礎(chǔ) ArcGIS JavaScript API的開發(fā),一些REST的概念,REST提出了一些設(shè)計(jì)概念和準(zhǔn)則:1.網(wǎng)絡(luò)上的所有事物都被抽象為資源(resource); 2.每個(gè)資源對(duì)應(yīng)一個(gè)唯一的資源標(biāo)識(shí)(resource identifier); 3.通過通用的連接器接口(generic connector interface)對(duì)資源進(jìn)行操作; 4.對(duì)資源的各種操作不會(huì)改變資源標(biāo)

4、識(shí); 5.所有的操作都是無狀態(tài)的(stateless)。,6,一些REST的概念,Everything is a URL Everything is a URL Everything is a URL,7,ArcGIS Server RESTful Web Service,遵行 REST 的 Web 架構(gòu)風(fēng)格 所有的GIS Services都被建模成URL資源 如:Catalog , Map Service, Layer 等等 9.3 中新提供了功能完整的 ArcGIS Server REST API 資源分成兩類 自身 比如: Map Servicehttp:/vmserver/ArcGIS

5、/rest/services/ablayer/MapServer 操作的結(jié)果 比如: Export Maphttp:/vmserver/ArcGIS/rest/services/ablayer/MapServer/export/ 支持多樣資源的輸出格式 (f=?) f=html (默認(rèn)) f=image(a streamed image ) f=json (JavaScript Object Notation) f=help f=lyr (ArcMap) f=jsapi (ArcGIS JavaScript API) f=kmz (KML) f=ve(Virtual Earth) f=gmap

6、s (Google Maps) f=nmf (ArcGIS Explorer),8,Microsoft Virtual Earth,Flex/Flash,Google Earth,ArcMap,PHP,PopFly,Yahoo Pipes,Google Maps,Microsoft Silverlight,Yahoo! Maps,Ruby,Python,ArcGIS Server,.Net,Java,OpenLayers,ArcGIS Mobile,ArcGIS Explorer,SAP,ArcGIS Server RESTful Web Service,9,議程,介紹 一些REST的概念 A

7、rcGIS Services Directory / REST API Admin 支持的服務(wù)類型 ArcGIS JavaScript API的主要功能 ArcGIS JavaScript API的數(shù)據(jù)基礎(chǔ) ArcGIS JavaScript API的開發(fā),10,ArcGIS Services Directory http:/:/arcgis/rest ArcXMLValidator 似的,ArcGIS Services Directory / REST API Admin,11,http:/rest/services/ /,ArcGIS Services Directory / REST A

8、PI Admin,REST優(yōu)點(diǎn) 性能的顯著提升 (REST CAHCING) 減少服務(wù)資源的消費(fèi) REST缺點(diǎn) 服務(wù)的更新不能及時(shí)地反映 解決辦法 REST API Admin,12,ArcGIS Services Directory / REST API Admin,http:/:/arcgis/rest/admin 正常情況下只支持一個(gè)管理用戶的訪問 Clear Cache 選項(xiàng) 立即清空 Cache 配置清空 Cache 注意: 地圖服務(wù)增加 刪除 更新后要及時(shí)清空cache Access to REST Admin is secured 只有 agsadmin users可以登錄,13

9、,14,議程,介紹 一些REST的概念 ArcGIS Services Directory / REST API Admin 支持的服務(wù)類型 ArcGIS JavaScript API的主要功能 ArcGIS JavaScript API的數(shù)據(jù)基礎(chǔ) ArcGIS JavaScript API的開發(fā),支持的服務(wù)類型,15,Map服務(wù) 通過ArcMap Desktop 發(fā)布的mxd文件 既可以是cache服務(wù) 也可以是非cache服務(wù) 可以實(shí)現(xiàn)identify功能 可以實(shí)現(xiàn)屬性的查詢 Geometry 服務(wù) ArcGIS server 9.3提供的一種全新的計(jì)算服務(wù) 可以發(fā)布Gemoetry服務(wù)

10、為客戶端提供基本的空間運(yùn)算功能,16,支持的服務(wù)類型,Geoprocessing服務(wù) 接口暴露后,使得調(diào)用Geoprocessing變得更加簡(jiǎn)單 開發(fā)人員可以更加容易的管理 發(fā)布GP模型 Network Analysis Geocode,議程,介紹 一些REST的概念 ArcGIS Services Directory / REST API Admin 支持的服務(wù)類型 ArcGIS JavaScript API的主要功能 ArcGIS JavaScript API的數(shù)據(jù)基礎(chǔ) ArcGIS JavaScript API的開發(fā),17,Maps Tiled (瓦片地圖 / cached) Dynam

11、ic (動(dòng)態(tài)地圖) Graphics = (geometry + attributes + symbol + InfoTemplate),ArcGIS Javascripts API的主要功能,18,ArcGIS Javascripts API的主要功能,Tasks QueryTask Locator FindTask IdentifyTask GeometryService Geoprocessor (同步或者異步),19,議程,介紹 一些REST的概念 ArcGIS Services Directory / REST API Admin 支持的服務(wù)的類型 ArcGIS JavaScript

12、 API的主要功能 ArcGIS JavaScript API的數(shù)據(jù)基礎(chǔ) ArcGIS JavaScript API的開發(fā),20,ArcGIS JavaScript API的數(shù)據(jù)基礎(chǔ),ArcIMS 中的ArcXML ArcGIS JavaScript API中的JSON 在異步應(yīng)用程序中發(fā)送和接收信息時(shí),可以選擇以純文本或 XML 作為數(shù)據(jù)格式 另一種有用的數(shù)據(jù)格式 JavaScript Object Notation(JSON) 一種輕量級(jí)的數(shù)據(jù)交換格式。易于人閱讀和編寫。同時(shí)也易于機(jī)器解析和生成。它基于JavaScript(Standard ECMA-262 3rd Edition - D

13、ecember 1999)的一個(gè)子集。,21,ArcGIS JavaScript API的數(shù)據(jù)基礎(chǔ),addressbook: name: Mary Lebow, address: street: 5 Main Street city: San Diego, CA, zip: 91912, , phoneNumbers: 619 332-3452, 664 223-4667 , MaryLebow 5 Main Street San Diego, CA 619 332-3452 664 223-4667 ,JSON 格式,XML 格式,22,ArcGIS JavaScript API的數(shù)據(jù)基礎(chǔ),

14、var people = programmers: firstName: Brett, lastName:McLaughlin, email: brettnewI , firstName: Jason, lastName:Hunter, email: , authors: firstName: Isaac, lastName: Asimov, genre: science fiction , firstName: Tad, lastName: Williams, genre: fantasy ,在 JavaScript 中使用 JSON people.authors1.genre= fanta

15、sy people.authors3.lastName= Undefined grammers.1.firstName= Jason ,23,議程,介紹 一些REST的概念 ArcGIS Services Directory / REST API Admin 支持的服務(wù)類型 ArcGIS JavaScript API的主要功能 ArcGIS JavaScript API的數(shù)據(jù)基礎(chǔ) ArcGIS JavaScript API的開發(fā),24,ArcGIS JavaScript API的開發(fā),優(yōu)點(diǎn) JavaScript 入門要求低,開發(fā)簡(jiǎn)單 (真的如此嗎?:) 不存在Session

16、過期的問題 Mashup 缺點(diǎn) JavaScript的調(diào)試有難度,編寫困難(真的如此嗎?:) 基于瀏覽器前端繪圖技術(shù)不適于大顯示量項(xiàng)目,25,工欲善其事 必先利其器,Visual Studio 2008 Aptana Studio FireFox + FireBug IE + IE develop toolbar Fiddler “我就是喜歡用Notepad! 我就是喜歡用alert !” - JS大拿,26,ArcGIS JavaScript API開發(fā)的”Hello World!”, dojo.require(esri.map); function init() var map = new

17、 esri.Map(map); var dynamicMapServiceLayer = new esri.layers.ArcGISDynamicMapServiceLayer( dynamicMapServiceLayer.setOpacity(0.5); map.addLayer(dynamicMapServiceLayer); dojo.addOnLoad(init); ,27,關(guān)于Dojo,眾所周知: ArcGIS JavaScript API 基于Dojo 開發(fā)而成,基于Dojo 1.x 的動(dòng)物園出品很有保障,dojo.require(esri.map); dojo.addOnLo

18、ad(init) ; dojo.byId(myInputField).value = myMap.id; dojo.connect(map, “onMouseMove”, refreshCoordInfo); doConfig = isDebug: true; console.debug(“”);,28,關(guān)于Dojo,dojo.require(esri.map);,29,HTML HEAD中的Styles 和 Scripts, import ,30,小東西, 大問題,IE下總是報(bào)dojo 找不到 ! 但是FireFox卻沒有問題 : ) 缺少此行 ,31,DEMOs 源代碼解讀,1. 加載地圖(動(dòng)態(tài),緩存) 2. 導(dǎo)航工具條 3. 畫圖工具條, 底、線、面符號(hào) 4. 信息查詢 5. 距離測(cè)量 6. 調(diào)用Geoprocessing服務(wù),32,補(bǔ)充幾點(diǎn),訪問受保護(hù)的ArcGIS Services var token = 5fFo4%2fI4Tv8IGSqSYbpUNORRD%2fYxXMSPo6NEHNNGMpt9CMknpXIjEVqYGm3uuQnU; var mapServiceURL = v

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論