You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							60 lines
						
					
					
						
							2.6 KiB
						
					
					
				
			
		
		
	
	
							60 lines
						
					
					
						
							2.6 KiB
						
					
					
				using ESRI.ArcGIS.Carto; | 
						|
using ESRI.ArcGIS.Display; | 
						|
using KGIS.Framework.Maps; | 
						|
using KGIS.Framework.Utils; | 
						|
using System; | 
						|
 | 
						|
namespace Kingo.PluginServiceInterface.Helper | 
						|
{ | 
						|
    public class MarkLabelLayerForZYQ | 
						|
    { | 
						|
 | 
						|
        //AxMapControl axMapControl1 = MapsManager.Instance.MapService.getAxMapControl(); | 
						|
        public static void MarkLayer() | 
						|
        { | 
						|
            try | 
						|
            { | 
						|
                //AxMapControl axMapControl1 = MapsManager.Instance.MapService.getAxMapControl(); | 
						|
                IFeatureLayer pFeatureLayer = MapsManager.Instance.MapService.GetFeatureLayerByName("ZYQ"); | 
						|
                if (pFeatureLayer == null) return; | 
						|
                IGeoFeatureLayer pGeoLayer = pFeatureLayer as IGeoFeatureLayer; | 
						|
                IRgbColor pColor = new RgbColorClass() { Red = 85, Blue = 105, Green = 255 }; | 
						|
                stdole.IFontDisp pFont = new stdole.StdFont() | 
						|
                { | 
						|
                    Name = "宋体", | 
						|
                    //Bold = true | 
						|
                } as stdole.IFontDisp; | 
						|
 | 
						|
                ITextSymbol pTextSymbol = new TextSymbolClass() | 
						|
                { | 
						|
                    Color = pColor, | 
						|
                    Font = pFont, | 
						|
                    Size = 8 | 
						|
                }; | 
						|
                IBasicOverposterLayerProperties pBasicOverLayerPro = new BasicOverposterLayerPropertiesClass(); | 
						|
                pBasicOverLayerPro.FeatureType = esriBasicOverposterFeatureType.esriOverposterPolygon; | 
						|
                pBasicOverLayerPro.GenerateUnplacedLabels = true; | 
						|
                pBasicOverLayerPro.NumLabelsOption = esriBasicNumLabelsOption.esriOneLabelPerShape; | 
						|
 | 
						|
                ILabelEngineLayerProperties pLableEngine = new LabelEngineLayerPropertiesClass() | 
						|
                { | 
						|
                    Symbol = pTextSymbol, | 
						|
                    IsExpressionSimple = true | 
						|
                }; | 
						|
                IOverposterLayerProperties2 pOverLayerProper = pBasicOverLayerPro as IOverposterLayerProperties2; | 
						|
                pOverLayerProper.TagUnplaced = true;//设置该属性,目的是不被其他element遮挡 | 
						|
                pLableEngine.BasicOverposterLayerProperties = pBasicOverLayerPro; | 
						|
                IAnnotateLayerProperties pAnnoPros = pLableEngine as IAnnotateLayerProperties; | 
						|
                pGeoLayer.AnnotationProperties.Add(pAnnoPros); | 
						|
                pGeoLayer.DisplayAnnotation = true; | 
						|
                //axMapControl1.ActiveView.PartialRefresh(esriViewDrawPhase.esriViewBackground, null, axMapControl1.Extent); | 
						|
            } | 
						|
            catch (Exception ex) | 
						|
            { | 
						|
                LogAPI.Debug("设置标注时发生异常,异常信息如下:" + ex); | 
						|
                return; | 
						|
            } | 
						|
        } | 
						|
 | 
						|
    } | 
						|
}
 | 
						|
 |