protected override void OnToolMouseMove(MapViewMouseEventArgs e) { try { //lets limit how many times we call this // take the latest event args every so often // this will keep us from drawing too many feedback geometries _throttleMouse.ThrottleAndFireAtInterval(150, async(args) => { var mp = await QueuedTask.Run(() => MapView.Active.ClientToMap(e.ClientPoint)); Mediator.NotifyColleagues(DistanceAndDirectionLibrary.Constants.MOUSE_MOVE_POINT, mp); }, priority: DispatcherPriority.Normal); } catch (Exception ex) { System.Diagnostics.Debug.WriteLine(ex.Message); } base.OnToolMouseMove(e); }