创建临时图层
2012-03-27 15:31 枫桥夜泊日 阅读(312) 评论(0) 编辑 收藏 举报 /// <summary>
/// 创建临时图层
/// </summary>
/// <param name="layerName">图层名</param>
/// <param name="isSelectable">图层是否能被选中</param>
/// <param name="lyr">图层对象</param>
public FeatureLayer CreateTempLayer(string layerName, bool isSelectable)
{
FeatureLayer lyr = null;
TableInfoMemTable tblInfoTemp = new TableInfoMemTable(layerName);
Table tblTemp = Session.Current.Catalog.GetTable(layerName);
if (tblTemp == null)
{
tblInfoTemp.Columns.Add(ColumnFactory.CreateFeatureGeometryColumn(mapMainControl.Map.GetDisplayCoordSys()));
tblInfoTemp.Columns.Add(ColumnFactory.CreateStyleColumn());
tblInfoTemp.Columns.Add(ColumnFactory.CreateStringColumn("name", 40));
tblInfoTemp.Columns.Add(ColumnFactory.CreateStringColumn("guid", 18));
tblTemp = Session.Current.Catalog.CreateTable(tblInfoTemp);
lyr = new FeatureLayer(tblTemp, layerName, layerName);
LayerHelper.SetEditable(lyr, false);
LayerHelper.SetSelectable(lyr, isSelectable);
int i = mapMainControl.Map.Layers.Add(lyr);
ToolFilter toolFilter =
(ToolFilter)mapMainControl.Tools.AddMapToolProperties.InsertionLayerFilter;
if (toolFilter != null && !toolFilter.IncludeLayer(lyr))
toolFilter.SetExplicitInclude(lyr, true);
toolFilter = (ToolFilter)mapMainControl.Tools.SelectMapToolProperties.EditableLayerFilter;
if (toolFilter != null && !toolFilter.IncludeLayer(lyr))
toolFilter.SetExplicitInclude(lyr, true);
}
return lyr;
}