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