ArcGIS Engine + C# 开发过程中,鼠标在地图上滑过时,显示地图相关信息,可以使用axMapControl1的OnMouseMove事件。
相关代码如下:
显示鼠标所在位置比例尺:
添加axMapControl1的OnMouseMove事件,其代码如下:
private void axMapControl1_OnMouseMove(object sender, IMapControlEvents2_OnMouseMoveEvent e)
{
//显示当前比例尺
ScaleLabel.Text = "比例尺1:" + ((long)this.axMapControl1.MapScale).ToString();
}
显示鼠标所在位置坐标:
显示当前坐标也是axMapControl1的OnMouseMove事件中响应,故只要在axMapControl1_OnMouseMove函数中添加如下代码即可:
private void axMapControl1_OnMouseMove(object sender, IMapControlEvents2_OnMouseMoveEvent e)
{
//显示当前坐标
CoordinateLabel.Text = " 当前坐标 X = " + e.mapX.ToString() + " Y = " + e.mapY.ToString() + " " + this.axMapControl1.MapUnits.ToString().Substring(4);
}
(解释:this.axMapControl1.MapUnits的坐标单位带有“esri”前缀,如“esriUnknownUnits”或“esriMeters”,this.axMapControl1.MapUnits.ToString().Substring(4)是为了去除前缀“esri”。当然,你也可以写一个转换函数,将其转换为中文。 )