ArcGIS可以設定動态地圖服務(ArcGISDynamicMapServiceLayer)顯示哪些圖層,也可以設定每個圖層根據某個屬性字段的某些條件來進行過濾顯示。
1、設定顯示的圖層
主要是通過ArcGISDynamicMapServiceLayer的VisibleLayers屬性來設定或得到目前顯示的圖層,C#代碼如下:
代碼中Map1和TextBlock_VisibleLayers是已經定義好的地圖和TextBlock控件。
2、設定圖層根據字段條件過濾顯示
如果不全部顯示一個圖層的所有要素,而是根據某些條件來“過濾顯示”,則可以通過設定LayerDefinition來實作。
LayerDefinition的設定可以通過XAML代碼實作:
也可以通過代碼來實作,C#代碼如下:
上面ArcGISDynamicMapServiceLayer_Initialized(object sender, System.EventArgs e)函數是訂閱到ArcGISDynamicMapServiceLayer.Initialized的,也就是在圖層加載的時候就設定了“過濾”條件,如果要在後期在某個響應事件中動态的重新整理地圖,需要在設定LayerDefinition後,調用ArcGISDynamicMapServiceLayer.Refresh()函數來重新整理地圖才能看到效果。
參考:
<a href="http://help.arcgis.com/en/webapi/silverlight/apiref/ESRI.ArcGIS.Client~ESRI.ArcGIS.Client.ArcGISDynamicMapServiceLayer~VisibleLayers.html">http://help.arcgis.com/en/webapi/silverlight/apiref/ESRI.ArcGIS.Client~ESRI.ArcGIS.Client.ArcGISDynamicMapServiceLayer~VisibleLayers.html</a>
<a href="http://help.arcgis.com/en/webapi/silverlight/apiref/ESRI.ArcGIS.Client~ESRI.ArcGIS.Client.ArcGISDynamicMapServiceLayer~LayerDefinitions.html">http://help.arcgis.com/en/webapi/silverlight/apiref/ESRI.ArcGIS.Client~ESRI.ArcGIS.Client.ArcGISDynamicMapServiceLayer~LayerDefinitions.html</a>
本文轉自阿凡盧部落格園部落格,原文連結http://www.cnblogs.com/luxiaoxun/p/3307466.html:,如需轉載請自行聯系原作者