首頁>技術>

描述

本例展示瞭如何在另外一個任務裡使用一個任務的結果。單擊地圖檢視被單擊的點的1公里範圍內的快取(如果需要可以修改這個預設的快取距離)。也可以看快取區的這些點的人口普查街區資訊。單擊一個點檢視更多的人口普查街區的資訊。

透過GeometryService, QueryTask和一些事件監聽器實現了所有的功能:

·GeometryService物件提供訪問到ArcGIS Server的幾何服務,該服務可以緩衝,投影和簡化幾何體。·QueryTask能根據地理或屬性條件從地圖圖層檢索要素。在本例中,查詢基於地理(在快取中的區域)。有趣地是,地圖圖層(人口普查街區組點)不是初始顯示在地圖上的。對很多這樣的查詢任務,可以僅僅顯示需要的結果元素。·事件監聽器幫助指令碼知道事件什麼時候發生。監聽器說,“當A發生,做B”。監聽器可以將幾個操作連在一起,象查詢後快取。每當見到dojo.connect()方法,指令碼正在監聽一個事件。這有一個監聽器的例子:
· dojo.connect(map, "onClick", function(evt) {....}

這三個引數表示物件的事件將在哪發生(the map),本身是什麼事件(a mouse click)和當事件發生時執行什麼函式。

下面是本例中事情發生的順序:

1.某人單擊地圖,觸發地圖的"onClick"事件

2.幾何服務快取點,觸發幾何服務的"onBufferComplete"事件

3.快取的虛線符號被增加到地圖上並且查詢任務執行,觸發查詢任務的"onComplete"事件

4.人口普查區被增加到地圖上,使用函式sumPopulation統計人口

11
最新評論
  • BSA-TRITC(10mg/ml) TRITC-BSA 牛血清白蛋白改性標記羅丹明
  • 透過npm釋出自己的第一個React元件