AnsweredAssumed Answered

Arc Engine Page Layoutcontrol Get page coordinates from centroid of polygon

Question asked by Bob50 on Dec 31, 2014

Help Please.


I have an Arc Engine application that contains a PAGELAYOUT CONTROL In the code progressing I have acquired the centroid's of some selected polygons in realworld coordinates (ie  x = 2484242.45 and Y = 276913.75)  I have verified the coordinates are correct in arc map for the selected polygons.  I am trying to use the centroid x, y location to be the anchor point for some balloon callouts. thus converting the realworld coordinates to page units (ie x = 1.1 in & y = 4.3in)  Here I run into problems.  Here is function I found on esri site but Obviously I am missing something and I know it is probably something simple.  Can anyone help  I am definately not getting page units to anchor the text balloon callouts like I expected.  I am thinking I might have to populates some constants prior to running the conversion.  Here is the function as I have used it



Function GetScreenCoordinatesFromMapCoorindates(ByVal mapPoint As ESRI.ArcGIS.Geometry.IPoint, ByVal activeView As ESRI.ArcGIS.Carto.IActiveView, ByVal mapenvelope As IEnvelope) As ESRI.ArcGIS.Geometry.IPoint


If mapPoint Is Nothing OrElse mapPoint.IsEmpty OrElse activeView Is Nothing Then

     Return Nothing

End If


Dim screenDisplay As ESRI.ArcGIS.Display.IScreenDisplay = activeView.ScreenDisplay


Dim displayTransformation As ESRI.ArcGIS.Display.IDisplayTransformation = screenDisplay.DisplayTransformation


Dim x As System.Int32

Dim y As System.Int32


displayTransformation.FromMapPoint(mapPoint, x, y)


Dim returnPoint As ESRI.ArcGIS.Geometry.IPoint = New ESRI.ArcGIS.Geometry.PointClass


returnPoint.PutCoords(x, y)


Return returnPoint


End Function