在上一章節(jié)中已經(jīng)說(shuō)明了esr-leaflet是如何加載ArcGIS Server提供的各種服務(wù),這些都是服務(wù)本身來(lái)決定的,API腳本只是非常簡(jiǎn)單的調(diào)用。但如果要做一列的地圖交互操作或者動(dòng)態(tài)渲染等,那就必須使用地圖區(qū)域跳轉(zhuǎn)、查詢(xún)結(jié)果渲染、動(dòng)態(tài)添加圖形等多種交互手段。而這些交互手段基本上離不開(kāi)一些非服務(wù)類(lèi)型的數(shù)據(jù)加載,我們可以將其成為動(dòng)態(tài)要素。動(dòng)態(tài)要素一般是在頁(yè)面端進(jìn)行動(dòng)態(tài)繪制的。

      動(dòng)態(tài)要素這一說(shuō)法并不是ArcGIS 或者leaflet的說(shuō)法,而是筆者想了很久之后才編出來(lái)的一個(gè)名詞,為的就是要使ArcGIS JavaScript API 體系與esri-leaflet能找到一個(gè)比較好的對(duì)應(yīng)關(guān)系,便于A(yíng)rcGIS的開(kāi)發(fā)人員能夠快速的切換過(guò)來(lái)。esri-leaflet 本身就是基于leaflet去做的擴(kuò)展,因此,很多情況下都不能擺脫leaflet的限制,文雅點(diǎn)來(lái)說(shuō)就是必須遵循leaflet的定義的接口規(guī)范。對(duì)于多年ArcGIS開(kāi)發(fā)人員來(lái)說(shuō),剛開(kāi)始的時(shí)候是有點(diǎn)不習(xí)慣的,因?yàn)楹芏鄷r(shí)候某些功能和接口不能很好的映射回ArcGIS JavaScript API中。所以,要搞清楚esri-leaflet的使用,那就必須從leaflet本身入手。

      在傳統(tǒng)的ArcGIS JavaScript API中,要加載一些動(dòng)態(tài)的要素(非直接引用服務(wù)的數(shù)據(jù)),必須使用graphic或者是graphicLayer(其實(shí)也是graphic的數(shù)組)。graphic在A(yíng)rcGIS JS里面是由四個(gè)部分組成的,分別是geometry(圖形)、symbol(符號(hào))、attributes(屬性)、infoTemplate(彈窗),如下圖

seo優(yōu)化培訓(xùn),網(wǎng)絡(luò)推廣培訓(xùn),網(wǎng)絡(luò)營(yíng)銷(xiāo)培訓(xùn),SEM培訓(xùn),網(wǎng)絡(luò)優(yōu)化,在線(xiàn)營(yíng)銷(xiāo)培訓(xùn)

      雖然是四個(gè)參數(shù),但并不一定要全部使用才能構(gòu)建,一般來(lái)說(shuō)最基本是需要一個(gè)geometry參數(shù)就行了,系統(tǒng)會(huì)自動(dòng)給與graphic一個(gè)默認(rèn)的symbol,這樣構(gòu)成一個(gè)最簡(jiǎn)單的graphic,就可以加載到地圖上去了??偟膩?lái)看,ArcGIS的API中是遵循ArcGIS數(shù)據(jù)的理念,圖元(暫且這么說(shuō)吧,真不知道中文怎么區(qū)分graphic和geometry)的顯示是讀取了要素的圖形和屬性,并且可以修改其符號(hào)(symbol),在地圖交互時(shí)還可以綁定一些特定的彈出信息。

網(wǎng)友評(píng)論