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);
        }

 

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值