ThinkGeo.com    |     Documentation    |     Premium Support

Exposing the MouseCoordinate property

In my application, I've been asked to place the mouse coordinate in a control away from the map control itself.


I'm aware of the MapTools.MouseCoordinate.IsEnabled property, but this only displays the data on the map control.


I couldn't see any way of grabbing this information so is it possible to get it exposed as a property?


David


 



To expand on my earlier question, I managed to get some data from the control, but its not very elegant:- 



this.MapControl.MapTools.MouseCoordinate.IsEnabled = true;

this.MapControl.MapTools.MouseCoordinate.Visibility = Visibility.Hidden;

this.MapControl.MouseMove += (s, e) =>

{

this.MouseCoord = this.MapControl.MapTools.MouseCoordinate.CoordinateText;

};  



This appears to be the only way I can get the Coordinates from the map control. Note: In order for the property to work, I had to set the IsEnabled property to true. I then had to hide the built-in control by setting its Visibility property to Visibility.Hidden. Setting this property to Visibility.Collapsed causes the property to return nothing. 



Having a proper object with the various formats return from an event sure would be useful ;o)



 David, this is how I am getting mouse position displayed on a textblock on a status bar below the map control.


 



 void OnMapMouseMove(object sender, MouseEventArgs e)
        {           
            var sc = e.GetPosition(map);
            currentMouseMovePosition = map.ToWorldCoordinate(sc);                     
            currentScreenPositionOps.Text = string.Format("X:{0} Y:{1}", sc.X, c.Y);
            currentPositionOps.Text = currentMousePosition.ToString();                   
        }

 


 


In my case, currentScreenPositionOps and currentPositionOps are entities bound to a StatusBarItem. 



Klaus, thanks for sharing your experience with the community. 
 David, the method Klaus suggested is the right way to go. Just get the screen point and convert it to world coordinate, then you are all set. 
  
 Regards, 
 Tsui

Thanks for the swift and accurate response!

Hi David, 
  
 You are welcome. 
 Please feel free to let us know if you have any other questions. 
  
 Regards, 
 Tsui