zoukankan      html  css  js  c++  java
  • ArcGIS Engine Maplex Label(标注)使用一例(转)

    /// <summary>
            /// MaplexEngine标注
            /// </summary>
            /// <param name="pGeoFeatLyr">标注图层</param>
            /// <param name="pMap">地球人都知</param>
            /// <param name="annoField">标记字段</param>
             public void Annotation(IGeoFeatureLayer pGeoFeatLyr, IMap pMap, string annoField)
            {
                IAnnotateMap pAnnoMap;
                pAnnoMap = new MaplexAnnotateMapClass();
                pMap.AnnotationEngine = pAnnoMap;
                IGeoFeatureLayer pGeoFeatLayer;
                pGeoFeatLayer = pGeoFeatLyr;
                IAnnotateLayerPropertiesCollection pAnnoProps;
                pAnnoProps = pGeoFeatLyr.AnnotationProperties;
                pAnnoProps.Clear();
                ILabelEngineLayerProperties2 pLabelEngine2 = new MaplexLabelEngineLayerPropertiesClass();
                pLabelEngine2.Expression = "[" + annoField + "]";
               
                IMaplexOverposterLayerProperties pMaplexPro = new MaplexOverposterLayerPropertiesClass();
                pMaplexPro.FeatureType = esriBasicOverposterFeatureType.esriOverposterPolygon;
                pMaplexPro.PolygonPlacementMethod = esriMaplexPolygonPlacementMethod.esriMaplexHorizontalInPolygon;
                pMaplexPro.CanPlaceLabelOutsidePolygon = false;
                pMaplexPro.CanRemoveOverlappingLabel = false;
                pMaplexPro.RepeatLabel = false;
                pLabelEngine2.OverposterLayerProperties = pMaplexPro as IOverposterLayerProperties;
                IMapOverposter pMapPos = axMapControl1.Map as IMapOverposter;
                IOverposterProperties pOP = pMapPos.OverposterProperties;
                IMaplexOverposterProperties pMaplexOP = pOP as IMaplexOverposterProperties;
                pMaplexOP.LabelLargestPolygon = false;
                pAnnoProps.Add(pLabelEngine2 as IAnnotateLayerProperties);
                pGeoFeatLyr.DisplayAnnotation = true;
            }

     来自:https://www.cnblogs.com/cannel/archive/2011/03/24/1993383.html


                IAnnotateMap pAnnoMap = new MaplexAnnotateMapClass();
                m_hookHelper.FocusMap.AnnotationEngine = pAnnoMap;

    使用Maplex

  • 相关阅读:
    统计数据库表中记录数
    在水晶报表中写一个条件判断语句
    数据库范式
    动态控件的新思路
    连续打印问题的解决
    水晶报表中测试纸张的margins
    向报表中传递参数
    JS实现页面跳转
    在dos下访问ntfs
    时间和字符混合处理
  • 原文地址:https://www.cnblogs.com/gisoracle/p/9062758.html
Copyright © 2011-2022 走看看