protected override async void OnToolMouseMove(MapViewMouseEventArgs e) { if (_lastLocation == e.ClientPoint) { return; } _lastLocation = e.ClientPoint; _invoker.Invoke(async() => { var tuple = await AddFeatureToOverlay(e); lock (_lock) { long oid = tuple.Item2; if (oid >= 0) { _theInspector.LoadAsync(_trees, oid); } else { _theInspector.ClearAsync(); } if (_disposer != null) { _disposer.Dispose(); } _disposer = tuple.Item1; } }); }