Quantcast
Channel: Forums - ArcObjects SDKs
Viewing all articles
Browse latest Browse all 1374

GlobeControl Layer Annotation

$
0
0
hi,

I'm using globecontrol with bilboard layer, i'm trying to add an annotation to a layer, but does not appear, I see only a filled rectangle (the result in attach)

this is my code:

Private Sub CreateLabel(ByVal pFLy As IFeatureLayer)

Dim pGeoFLy As IGeoFeatureLayer
Dim pAnnoLyrPropColl As IAnnotateLayerPropertiesCollection
Dim pLblEngLyrProps As ILabelEngineLayerProperties
Dim pAnnoLyrProps As IAnnotateLayerProperties

Try

pGeoFLy = pFLy

pAnnoLyrPropColl = pGeoFLy.AnnotationProperties
pAnnoLyrPropColl.Clear()

Dim pPointPlacement As IPointPlacementPriorities = New PointPlacementPrioritiesClass
pPointPlacement.AboveCenter = 0
pPointPlacement.AboveLeft = 0
pPointPlacement.AboveRight = 0
pPointPlacement.BelowCenter = 1
pPointPlacement.BelowLeft = 0
pPointPlacement.BelowRight = 0
pPointPlacement.CenterLeft = 0
pPointPlacement.CenterRight = 0

Dim pBasicOverposeterLayerProp As IBasicOverposterLayerProperties = New BasicOverposterLayerPropertiesClass
pBasicOverposeterLayerProp.FeatureType = esriBasicOverposterFeatureType.esriOverposterPoint
pBasicOverposeterLayerProp.FeatureWeight = esriBasicOverposterWeight.esriNoWeight
pBasicOverposeterLayerProp.LabelWeight = esriBasicOverposterWeight.esriHighWeight
pBasicOverposeterLayerProp.BufferRatio = 0
pBasicOverposeterLayerProp.PointPlacementMethod = esriOverposterPointPlacementMethod.esriOnTopPoint
pBasicOverposeterLayerProp.PointPlacementPriorities = pPointPlacement

pLblEngLyrProps = New LabelEngineLayerProperties

With pLblEngLyrProps
.Expression = "[Label]"
.IsExpressionSimple = True
.Symbol = CreateFontLabel()
.BasicOverposterLayerProperties = pBasicOverposeterLayerProp
End With

pAnnoLyrProps = TryCast(pLblEngLyrProps, IAnnotateLayerProperties)

With pAnnoLyrProps
.AnnotationMinimumScale = m_SymbolProperties.Label_MinScale
.AnnotationMaximumScale = m_SymbolProperties.Label_MaxScale
End With

pAnnoLyrPropColl.Add(pAnnoLyrProps)

pGeoFLy.DisplayAnnotation = True

Catch ex As Exception


Finally
pGeoFLy = Nothing
pAnnoLyrPropColl = Nothing
pLblEngLyrProps = Nothing
pAnnoLyrProps = Nothing
End Try

End Sub

Private Function CreateFontLabel() As ITextSymbol

Dim pRGBColor As IRgbColor
Dim pFont As IFont
Dim pTextSymbol As ITextSymbol

Try

pRGBColor = New RgbColor

With pRGBColor
.Red = m_SymbolProperties.Label_Color.R
.Green = m_SymbolProperties.Label_Color.G
.Blue = m_SymbolProperties.Label_Color.B
End With

pFont = New SystemFont

With pFont
.Name = m_SymbolProperties.Label_Font.Name
.Size = m_SymbolProperties.Label_Font.Size
.Bold = m_SymbolProperties.Label_Font.Bold
.Underline = m_SymbolProperties.Label_Font.Underline
.Italic = m_SymbolProperties.Label_Font.Italic
End With

pTextSymbol = New TextSymbol

With pTextSymbol
.Color = pRGBColor
.Font = pFont
.HorizontalAlignment = esriTextHorizontalAlignment.esriTHALeft
End With
CreateFontLabel = pTextSymbol
Catch ex As Exception
CreateFontLabel = Nothing
Finally
pRGBColor = Nothing
pFont = Nothing
pTextSymbol = Nothing
End Try
End Function


thanks

fabrizio
Attached Thumbnails
Click image for larger version

Name:	Image4.jpg‎
Views:	N/A
Size:	46.3 KB
ID:	24809  

Viewing all articles
Browse latest Browse all 1374

Trending Articles