在系统中,鼠标滑过就会获取到鼠标所在位置的地理坐标值。实现效果如下:
这个效果的实现是基于地图上鼠标经过事件的。在给地图注册了MouseMove事件后,在该事件中添加如下代码即可实现。
在这段代码中,就是将鼠标经过点的位置信息(相对于屏幕坐标)转为对应参考系的地理坐标信息,即:ScreenToMap,这个方法是地图控件自带的方法。
private void myMap_MouseMove(object sender, MouseEventArgs e)
{
if (myMap.Extent != null)
{
System.Windows.Point screenPoint = e.GetPosition(myMap);
ESRI.ArcGIS.Client.Geometry.MapPoint mapPoint = myMap.ScreenToMap(screenPoint);
if (mapPoint != null)
MapCoordsTextBlock.Text = string.Format("平面坐标: X = {0}, Y = {1}",
Math.Round(mapPoint.X, 4).ToString(), Math.Round(mapPoint.Y, 4).ToString());
}
}