void dlg_Closed(object sender, EventArgs e) { //try and clean up GeocodeUtils.RemoveFromMapOverlay(ForTheUcModule.ActiveMapView); //geocode dialog was closed _dlg.Closed -= dlg_Closed; _dlg = null; }
private async void Button_Click(object sender, RoutedEventArgs e) { // get the current module to access helper method ForTheUcModule module = ForTheUcModule.Current; // remove any existing graphics MapView mapView = ForTheUcModule.ActiveMapView; GeocodeUtils.RemoveFromMapOverlay(mapView); try { // initiate the search CandidateResponse results = GeocodeUtils.SearchFor(this.SearchText.Text, 1); if (results.OrderedResults.Count > 0) { // add a point graphic overlay GeocodeUtils.UpdateMapOverlay(results.OrderedResults[0].ToPointN(), mapView); // zoom to the location await GeocodeUtils.ZoomToLocation(results.OrderedResults[0].Extent); // add the search results to the dialog window this.LastSearch.Text = string.Format("Last Match: {0}", results.OrderedResults[0].CandidateDetails); } else { ArcGIS.Desktop.Internal.Framework.DialogManager.ShowMessageBox( string.Format("No results returned for {0}", this.SearchText.Text), "GeocodeExample"); } } catch (Exception ex) { string errorName = "Search Error"; System.Diagnostics.Trace.WriteLine(string.Format("{0}: {1}", errorName, ex.ToString())); ArcGIS.Desktop.Internal.Framework.DialogManager.ShowMessageBox(errorName, this.SearchText.Text); } }