2015-07-02 18 views
0

我有一個要素圖層,其中包含具有相同定義樣式的12個項目。但是我想在渲染時將每個項目更改爲具有唯一的符號。Arcgis javascript - 爲要素圖層中的每個圖形設置不同的符號

var Layer = new FeatureLayer("http://...my map server.../0"); 

Layer.graphics.forEach(function (entry) { 
    // loop through each item 
    console.log(entry);       
    console.log(entry.attributes.FID); 

    var symbol = new PictureMarkerSymbol({ "url":"/images/icons/fid_" + entry.attributes.FID + ".png", "height":20, "width":20 }); 
    entry.setSymbol(symbol); 
    var renderer = new esri.renderer.SimpleRenderer(symbol); 
    Layer.setRenderer(renderer); // <-- this appears to override all previous items 
}); 

map.addLayer(Layer); 

我省略了一些代碼,以保持這種簡單;我現在設置了一個符號,但它是最後的所有項目的最後一個entry的符號。

我需要每個entry有一個獨特的符號由其FID(0-11)定義

我已經通過ArcGIS的JavaScript API文檔搜索,並不能找到任何解決這一點。謝謝。

回答

0

如果你知道將只有12條記錄,並且不會改變...... 按照以下步驟來做到這一點:

  1. 添加的,而不是簡單的渲染器唯一值渲染器。
  2. 添加objectID/FID作爲唯一值渲染器字段。
  3. 將此新渲染器設置爲要素圖層對象。
  4. 添加此圖層到地圖。

讓我知道你是否需要更多的說明。

樣品:https://developers.arcgis.com/javascript/3/sandbox/sandbox.html?sample=renderer_unique_value

注意:如果你需要詳細的工作液請分享您的層休息網址。

希望這會幫助你:)

+0

完美。謝謝:) – Larry

+0

歡迎拉里先生:) –

相關問題