動態更改圖層符號系統的首選方法是什麼?我的web應用程序通過REST API使用地圖服務,但我不介意使用SOAP API或ArcObjects(.NET)。動態更改地圖圖層符號系統(ArcGIS Server)
1
A
回答
0
REST API是無狀態的,因此您無法通過與REST式服務的連接更改符號系統(儘管您可以使用圖形圖層來動態提取要以不同方式顯示的功能)。
使用SOAP API(通過Web ADF或簡單地通過SOAP手動連接到服務)並更改其中的符號體系,您將擁有更好的運氣。有關這方面的更多信息,請訪問:http://forums.esri.com/Thread.asp?c=158&f=2421&t=266974
0
如果要更改地圖服務中自身的符號外觀,則需要使用WebADF或創建自己的使用SOAP API的服務。改變符號然後生成圖像的實際位很容易,難的部分將是然後讓開放的圖層消耗它。我不打擾或按照Michael的建議去做,並將圖形帶回客戶端,並根據需要使用OpenLayers繪製它們,也許圖層設置爲在地圖服務中不可見,以便它們不會顯示在圖形下。
1
從版本2.0開始,ESRI JS API中存在功能層。
ESRI API示例顯示使用渲染器來更改動態地圖服務的默認符號系統,通過要素圖層通過指定的唯一值&類別中斷渲染器。由於要素圖層是從圖形圖層對象派生的,因此它們呈現的方式不同(客戶端與服務在運行img/tile導出時)。儘管如此,它們確實允許根據開發人員定義的字段/值來更改圖層外觀。
注意運用獨特的價值呈現在這個動態的地圖服務:
例子(代碼)http://help.arcgis.com/en/webapi/javascript/arcgis/jssamples/renderer_unique_value.html
現場樣品 http://developers.arcgis.com/en/javascript/samples/renderer_unique_value/
var defaultSymbol = new esri.symbol.SimpleFillSymbol().setStyle(
esri.symbol.SimpleFillSymbol.STYLE_NULL);
defaultSymbol.outline.setStyle(esri.symbol.SimpleLineSymbol.STYLE_NULL);
//create renderer
var renderer = new esri.renderer.UniqueValueRenderer(defaultSymbol, "SUB_REGION");
//add symbol for each possible value
renderer.addValue("Pacific", new esri.symbol.SimpleFillSymbol().setColor(new dojo.Color([255, 0, 0, 0.5])));
renderer.addValue("Mtn", new esri.symbol.SimpleFillSymbol().setColor(new dojo.Color([0, 255, 0, 0.5])));
renderer.addValue("N Eng", new esri.symbol.SimpleFillSymbol().setColor(new dojo.Color([0, 0, 255, 0.5])));
renderer.addValue("S Atl", new esri.symbol.SimpleFillSymbol().setColor(new dojo.Color([255, 0, 255, 0.5])));
renderer.addValue("Mid Atl", new esri.symbol.SimpleFillSymbol().setColor(new dojo.Color([255, 255, 255, 0.75])));
renderer.addValue("E N Cen", new esri.symbol.SimpleFillSymbol().setColor(new dojo.Color([0, 255, 255, 0.5])));
renderer.addValue("W N Cen", new esri.symbol.SimpleFillSymbol().setColor(new dojo.Color([255, 255, 0, 0.5])));
renderer.addValue("E S Cen", new esri.symbol.SimpleFillSymbol().setColor(new dojo.Color([127, 127, 127, 0.5])));
renderer.addValue("W S Cen", new esri.symbol.SimpleFillSymbol().setColor(new dojo.Color([0, 0, 0, 0.5])));
var featureLayer = new esri.layers.FeatureLayer("http://sampleserver1.arcgisonline.com/ArcGIS/rest/services/Specialty/ESRI_StateCityHighway_USA/MapServer/1", {
mode: esri.layers.FeatureLayer.MODE_ONDEMAND,
outFields: ["SUB_REGION"]
});
featureLayer.setRenderer(renderer);
map.addLayer(featureLayer);
相關問題
- 1. 從ArcGIS地圖發出系統命令
- 2. 免費地圖圖標/符號系統
- 3. ARCGIS iOS - 地圖圖層內存問題
- 4. JS的Arcgis API:更改圖形圖層的空間參考
- 5. 動態更改IOS中Mapbox地圖的基礎層
- 6. 更改系統托盤圖標圖像
- 7. arcGIS ADF - 當我添加圖形圖層時地圖消失
- 8. 如何從ArcGIS地圖服務創建ArcMap圖層
- 9. 如何動態更改Edge動畫符號中的圖像?
- 10. 動態地更改Google地圖v3中的地圖類型
- 11. 更改圖像動態地Laravel 5.3
- 12. AndEngine更改TMX平鋪地圖動態
- 13. ArcGIS Map上的多個圖片符號
- 14. 我們如何在arcgis地圖上添加切片圖層?
- 15. 在ArcGIS Online地圖中添加組圖層?
- 16. 無法在刪除平鋪地圖服務圖層後在ArcGIS地圖中顯示圖層
- 17. 更改圖像層
- 18. 無符號字符*緩衝區系統::繪圖::位圖
- 19. 更改圖像動態4.6
- 20. 動態更改視圖Swift
- 21. 更改圖標動態
- 22. Android arcGIS地圖投影
- 23. 是Arcgis的地圖免費
- 24. 使用ArcGIS(.mmpk地圖)
- 25. 如何將靜態導航系統更改爲PHP動態導航系統?
- 26. 如何動態更改Google地圖標記圖標
- 27. KML圖層ArcGIS JS API v4(測試版)
- 28. 動態更改圖像視圖背景
- 29. 操作系統狀態圖
- 30. 在WPF中動態更改對象的圖層
我使用的OpenLayers,這僅支持REST API和WMS。我不得不懷疑這是不是可能? –
如果OpenLayers能夠查詢一個圖層並從中抓取一個圖形,並且還可以將特徵添加到與它所抓取的圖形相同的位置(使用適用於它的任何符號體系),那麼,是的,它應該工作。雖然我自己並不熟悉。 –