您的位置:首页 > 编程语言 > C#

AE+C# 图层中增加相应属性标注

2016-10-31 19:53 148 查看
原文 AE+C# 图层中增加相应属性标注

if (axMapControl1.LayerCount > 0)
{
IGeoFeatureLayer pGeoFeatureLayer;
ILineLabelPosition pLineLabelPosition;
ILabelEngineLayerProperties pLabelEngineLayerProperties;
IAnnotateLayerProperties pAnnotateLayerProperties;

pGeoFeatureLayer = (IGeoFeatureLayer)axMapControl1.get_Layer(0);
pGeoFeatureLayer.AnnotationProperties.Clear();

pLineLabelPosition = new LineLabelPosition();
pLineLabelPosition.Above = false;
pLineLabelPosition.AtEnd = false;
pLineLabelPosition.Below = false;
pLineLabelPosition.Horizontal = false;
pLineLabelPosition.InLine = true;
pLineLabelPosition.OnTop = true;
pLineLabelPosition.Parallel = true;
pLineLabelPosition.ProduceCurvedLabels = true;

ITextSymbol pTextSymbol = new TextSymbol();
IColor pColor = new RgbColor();
pColor.RGB = 255;
pTextSymbol.Size = 8;
pTextSymbol.Font.Name = "宋体";
pTextSymbol.Color = pColor;

pLabelEngineLayerProperties = new LabelEngineLayerProperties() as ILabelEngineLayerProperties;
pLabelEngineLayerProperties.Symbol = pTextSymbol;
pLabelEngineLayerProperties.IsExpressionSimple = true;
pLabelEngineLayerProperties.Expression = "[NAME]";//需要中括号,这里显示NAME字段属性
pLabelEngineLayerProperties.BasicOverposterLayerProperties.LineLabelPosition = pLineLabelPosition;

pAnnotateLayerProperties = (IAnnotateLayerProperties)pLabelEngineLayerProperties;
pAnnotateLayerProperties.DisplayAnnotation = true;
pAnnotateLayerProperties.FeatureLayer = pGeoFeatureLayer;

pAnnotateLayerProperties.LabelWhichFeatures = esriLabelWhichFeatures.esriAllFeatures;
pAnnotateLayerProperties.WhereClause = "";

pGeoFeatureLayer.AnnotationProperties.Add(pAnnotateLayerProperties);
pGeoFeatureLayer.DisplayAnnotation = true;
axMapControl1.ActiveView.PartialRefresh(esriViewDrawPhase.esriViewGraphics, null, null);
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐