Arcengine 图层添加标注,且标注之间不相互遮盖

//添加图层标注
public void AddAnnotate(ILayer layer, string fieldName)
        {
            IFeatureLayer pFeatureLayer = layer as IFeatureLayer;
            IGeoFeatureLayer pGeoLayer = pFeatureLayer as IGeoFeatureLayer;
            IAnnotateLayerPropertiesCollection IPALPColl = pGeoLayer.AnnotationProperties;
            IPALPColl.Clear();

            IRgbColor pColor = GetColor(85, 105, 255);
            IFontDisp pFont = new StdFont()
            {
                Name = "宋体",
                //Bold = true
            } as IFontDisp;

            ITextSymbol pTextSymbol = new TextSymbolClass()
            {
                Color = pColor,
                Font = pFont,
                Size = 8
            };
            IBasicOverposterLayerProperties pBasicOverLayerPro = new BasicOverposterLayerPropertiesClass();
            pBasicOverLayerPro.FeatureType = esriBasicOverposterFeatureType.esriOverposterPoint;
            pBasicOverLayerPro.GenerateUnplacedLabels = true;
            pBasicOverLayerPro.NumLabelsOption = esriBasicNumLabelsOption.esriOneLabelPerPart;

            //创建标注对象
            ILabelEngineLayerProperties pLableEngine = new LabelEngineLayerPropertiesClass()
            {
                Symbol = pTextSymbol,
                IsExpressionSimple = true
            };
           
            string express = "[" + fieldName + "]";
            pLableEngine.Expression = express;


            IOverposterLayerProperties2 pOverLayerProper = pBasicOverLayerPro as IOverposterLayerProperties2;
            pOverLayerProper.TagUnplaced = true;//设置该属性,目的是不被其他element遮挡
            pLableEngine.BasicOverposterLayerProperties = pBasicOverLayerPro;
            IAnnotateLayerProperties pAnnoPros = pLableEngine as IAnnotateLayerProperties;
            pAnnoPros.AnnotationMinimumScale = 500000;
            IPALPColl.Add(pAnnoPros);
            pGeoLayer.DisplayAnnotation = true;
            pGeoLayer.DisplayField = fieldName;
            MapControl.ActiveView.PartialRefresh(esriViewDrawPhase.esriViewBackground, null, null);
        }

 


版权声明:本文为sinat_32857543原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。