您的位置:首页 > 其它

arcgis server 学习(二)添加动态渲染层

2008-11-14 00:31 183 查看
添加动态渲染层分为三步

1.定义一个MapResource类型变量,用来往里面添加动态层

2. 定义一个GraphicLayer,并将存储有需要渲染的地图要素的数据表类型为DataTable的变量转化为GraphicLayer类型,并指定颜色样式

3.将转化后的GraphicLayer添加到步骤1中定义的数据源中,刷新地图。

1 public void showGraphic(Map map1, string mapResourceName,DataTable dt)

8 {

9 System.Collections.IEnumerable enumFunc = map1.GetFunctionalities();

//添加一个地图数据源,动态层将添加到这个数据源中

MapResource mapResource = null;

//遍历地图控件的fuanctionality,找到需要的数据源,转化为MapResource类型

foreach (IGISFunctionality func in enumFunc)

{

if (func.Resource.Name == mapResourceName)

mapResource =(Graphics.MapResource) func.Resource;

//清楚原有数据,如果此处不清除原有数据,每次渲染将保留以前的数据

mapResource.Graphics.Tables.Clear();

}

if (mapResource == null)

return;

//将传进来的DataTable参数转化为GraphicLayer

ESRI.ArcGIS.ADF.Web.Display.Graphics.GraphicsLayer graphicLayer = null;

graphicLayer = Converter.ToGraphicsLayer(dt, Color.Yellow, Color.Green);

//将转化后的GraphicLayer添加到地图数据源中

mapResource.Graphics.Tables.Add(graphicLayer);

//地图刷新

if (map1.ImageBlendingMode == ImageBlendingMode.Browser)

{ map1.Refresh(); }

else if(map1.ImageBlendingMode==ImageBlendingMode.WebTier)

{

map1.RefreshResource(mapResource.Name);

}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: