ArcEngine 图层标注 (根据字段、角度)
生活随笔
收集整理的這篇文章主要介紹了
ArcEngine 图层标注 (根据字段、角度)
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
轉(zhuǎn)自chanyinhelv原文 ArcEngine 圖層標(biāo)注 (根據(jù)字段、角度)
今天做了一個用AE來控制圖層是否顯示標(biāo)注,以及已哪一個字段作為標(biāo)注的字段,以哪一個字段作為標(biāo)注的角度,現(xiàn)將代碼寫下來,以備以后差用。
public void EnableFeatureLayerLabel(IFeatureLayer pFeaturelayer, string sLableField, IRgbColor pRGB, int size, string angleField) { //判斷圖層是否為空 if (pFeaturelayer == null) return; IGeoFeatureLayer pGeoFeaturelayer = (IGeoFeatureLayer)pFeaturelayer; IAnnotateLayerPropertiesCollection pAnnoLayerPropsCollection; pAnnoLayerPropsCollection = pGeoFeaturelayer.AnnotationProperties; pAnnoLayerPropsCollection.Clear(); //stdole.IFontDisp pFont; //字體 ITextSymbol pTextSymbol; //pFont.Name = "新宋體"; //pFont.Size = 9; //未指定字體顏色則默認(rèn)為黑色 if (pRGB == null) { pRGB = new RgbColorClass(); pRGB.Red = 0; pRGB.Green = 0; pRGB.Blue = 0; } pTextSymbol = new TextSymbolClass(); pTextSymbol.Color = (IColor)pRGB; pTextSymbol.Size = size; //標(biāo)注大小 IBasicOverposterLayerProperties4 pBasicOverposterlayerProps4 = new BasicOverposterLayerPropertiesClass(); switch (pFeaturelayer.FeatureClass.ShapeType)//判斷圖層類型 { case ESRI.ArcGIS.Geometry.esriGeometryType.esriGeometryPolygon: pBasicOverposterlayerProps4.FeatureType = esriBasicOverposterFeatureType.esriOverposterPolygon; break; case ESRI.ArcGIS.Geometry.esriGeometryType.esriGeometryPoint: pBasicOverposterlayerProps4.FeatureType = esriBasicOverposterFeatureType.esriOverposterPoint; break; case ESRI.ArcGIS.Geometry.esriGeometryType.esriGeometryPolyline: pBasicOverposterlayerProps4.FeatureType = esriBasicOverposterFeatureType.esriOverposterPolyline; break; } pBasicOverposterlayerProps4.PointPlacementMethod = esriOverposterPointPlacementMethod.esriRotationField; pBasicOverposterlayerProps4.RotationField = angleField; ILabelEngineLayerProperties pLabelEnginelayerProps = new LabelEngineLayerPropertiesClass(); pLabelEnginelayerProps.Expression = "[" + sLableField + "]"; pLabelEnginelayerProps.Symbol = pTextSymbol; pLabelEnginelayerProps.BasicOverposterLayerProperties = pBasicOverposterlayerProps4 as IBasicOverposterLayerProperties; pAnnoLayerPropsCollection.Add((IAnnotateLayerProperties)pLabelEnginelayerProps); pGeoFeaturelayer.DisplayAnnotation = true;//很重要,必須設(shè)置 //axMapControl1.ActiveView.PartialRefresh(esriViewDrawPhase.esriViewBackground, null, null); } }?
總結(jié)
以上是生活随笔為你收集整理的ArcEngine 图层标注 (根据字段、角度)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: system v和posix的共享内存对
- 下一篇: ls--查看文件或者目录的信息