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