在上一章節(jié)中已經(jīng)說明了esr-leaflet是如何加載ArcGIS Server提供的各種服務(wù),這些都是服務(wù)本身來決定的,API腳本只是非常簡單的調(diào)用。但如果要做一列的地圖交互操作或者動態(tài)渲染等,那就必須使用地圖區(qū)域跳轉(zhuǎn)、查詢結(jié)果渲染、動態(tài)添加圖形等多種交互手段。而這些交互手段基本上離不開一些非服務(wù)類型的數(shù)據(jù)加載,我們可以將其成為動態(tài)要素。動態(tài)要素一般是在頁面端進行動態(tài)繪制的。
動態(tài)要素這一說法并不是ArcGIS 或者leaflet的說法,而是筆者想了很久之后才編出來的一個名詞,為的就是要使ArcGIS JavaScript API 體系與esri-leaflet能找到一個比較好的對應(yīng)關(guān)系,便于ArcGIS的開發(fā)人員能夠快速的切換過來。esri-leaflet 本身就是基于leaflet去做的擴展,因此,很多情況下都不能擺脫leaflet的限制,文雅點來說就是必須遵循leaflet的定義的接口規(guī)范。對于多年ArcGIS開發(fā)人員來說,剛開始的時候是有點不習慣的,因為很多時候某些功能和接口不能很好的映射回ArcGIS JavaScript API中。所以,要搞清楚esri-leaflet的使用,那就必須從leaflet本身入手。
在傳統(tǒng)的ArcGIS JavaScript API中,要加載一些動態(tài)的要素(非直接引用服務(wù)的數(shù)據(jù)),必須使用graphic或者是graphicLayer(其實也是graphic的數(shù)組)。graphic在ArcGIS JS里面是由四個部分組成的,分別是geometry(圖形)、symbol(符號)、attributes(屬性)、infoTemplate(彈窗),如下圖
雖然是四個參數(shù),但并不一定要全部使用才能構(gòu)建,一般來說最基本是需要一個geometry參數(shù)就行了,系統(tǒng)會自動給與graphic一個默認的symbol,這樣構(gòu)成一個最簡單的graphic,就可以加載到地圖上去了??偟膩砜矗珹rcGIS的API中是遵循ArcGIS數(shù)據(jù)的理念,圖元(暫且這么說吧,真不知道中文怎么區(qū)分graphic和geometry)的顯示是讀取了要素的圖形和屬性,并且可以修改其符號(symbol),在地圖交互時還可以綁定一些特定的彈出信息。
延伸閱讀
- ssh框架 2016-09-30
- 阿里移動安全 [無線安全]玩轉(zhuǎn)無線電——不安全的藍牙鎖 2017-07-26
- 消息隊列NetMQ 原理分析4-Socket、Session、Option和Pipe 2024-03-26
- Selective Search for Object Recognition 論文筆記【圖片目標分割】 2017-07-26
- 詞向量-LRWE模型-更好地識別反義詞同義詞 2017-07-26
- 從棧不平衡問題 理解 calling convention 2017-07-26
- php imagemagick 處理 圖片剪切、壓縮、合并、插入文本、背景色透明 2017-07-26
- Swift實現(xiàn)JSON轉(zhuǎn)Model - HandyJSON使用講解 2017-07-26
- 阿里移動安全 Android端惡意鎖屏勒索應(yīng)用分析 2017-07-26
- 集合結(jié)合數(shù)據(jù)結(jié)構(gòu)來看看(二) 2017-07-26