PROBLEM
When adding a point feature to a map in ArcGIS Desktop 10 by clicking in the map using an add-in tool or a COM component base tool, the coordinates of the newly created point are incorrect.
The coordinates are incorrect because they are currently screen coordinates, and not map coordinates.
Code:
/// The code herein is based on the Add-In sample at this link on ESRI's Resources Website:
/// http://resources.arcgis.com/en/help/arcobjects-net/conceptualhelp/index.html#//000100000969000000
///
using System;
using System.Collections.Generic;
using System.Text;
using System.IO;
using ESRI.ArcGIS.ArcMapUI;
using ESRI.ArcGIS.Carto;
using ESRI.ArcGIS.Display;
using ESRI.ArcGIS.Geometry;
namespace AddIn_OnMouseDown_Tool
{
public class Class_OnMouseDown_Tool : ESRI.ArcGIS.Desktop.AddIns.Tool
{
// Module level variables
private IActiveView m_focusMap;
public Class_OnMouseDown_Tool()
{
}
protected override void OnUpdate()
{
Enabled = ArcMap.Application != null;
}
protected override void OnMouseDown(MouseEventArgs arg)
{
IMxDocument mxDoc = ArcMap.Document;
m_focusMap = mxDoc.FocusMap as IActiveView;
IPoint point = m_focusMap.ScreenDisplay.DisplayTransformation.ToMapPoint(arg.X, arg.Y) as IPoint;
System.Windows.Forms.MessageBox.Show(
"point.X = " + point.X + "\n" +
"point.Y = " + point.Y + "\n"
);
}
}
}
Get help from ArcGIS experts
Download the Esri Support App