ArcGIS API for Android 案例教程 14

來源:互聯網
上載者:User
I. 要素編輯

從ArcGIS 10開始,地圖服務有了一個新的Capability——“Feature Access”,所有的要素編輯都是通過這個介面實現的。同時,在各種用戶端中出現了一種新的圖層名為“Feature Layer”,它可以對應到一個地圖服務的某個要素圖層,因此,要進行要素編輯,讓我們先熟悉一下ArcGIS Android API中的Feature Layer。

Feature Layer

ArcGIS Android API提供了一個選擇要素的例子(SelectFeatures),這個例子主要示範了Feature Layer的用法,運行這個例子的效果大概是這個樣子:

圖 32 使用Feature Layer選擇要素

當使用者畫定了一個範圍,程式就會選中Feature Layer在這個範圍中合格要素,並把這些要素用粉紅色高亮(其它地方顯示其它顏色的要素是因為下面還疊加的一個動態地圖服務,它們並不是在Feature Layer上顯示的)。

從這個例子的原始碼中,我們可以很容易找到最關鍵的幾行代碼,在這幾行代碼中,程式定義了一個Query對象用以設定過濾條件,然後簡單地通過調用ArcGISFeatureLayer對象的selectFeature方法就實現了對要素的選擇。

fLayer.clearSelection();

Query q = new Query();

q.setWhere("PROD_GAS='Yes'");

q.setReturnGeometry(true);

q.setInSpatialReference(map.getSpatialReference());

q.setGeometry(g.getGeometry());

q.setSpatialRelationship(SpatialRelationship.INTERSECTS);

fLayer.selectFeatures(q, SELECTION_METHOD.NEW, callback);

而在本質上,這裡調用的selectFeature方法背後訪問的是ArcGISFeatureLayer所對應的要素圖層,通過Query對象限制的條件進行查詢操作,再把查詢的結果(FeatureSet)返回到用戶端,並添加到ArcGISFeatureLayer上去。

至於ArcGISFeatureLayer的本質,其實它就是一個GraphicsLayer,不過它和一個伺服器端的要素圖層遙相呼應了而已:

Options o = new Options();

o.mode = MODE.ONDEMAND;

o.outFields = new String[] {"FIELD_KID", "APPROXACRE", "FIELD_NAME"};

fLayer = new ArcGISFeatureLayer(this,
"http://sampleserver3.arcgisonline.com/ArcGIS/rest
/services/Petroleum/KSPetro/MapServer/1",o);

注意一下,這裡ArcGISFeatureLayer對應的URL地址是MapServer中的一個圖層,因此在這裡這個Feature Layer雖然可以選擇,但是做不了編輯。要想可以進行編輯,ArcGISFeatureLayer的URL地址就必須是一個FeatureServer中的圖層。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.