private void SearchResults_SelectionChanged(object sender, System.Windows.Controls.SelectionChangedEventArgs e) { StationItemViewModel station = (sender as ListBox).SelectedItem as StationItemViewModel; //ListBoxItem Item = (sender as ListBox).SelectedItem as ListBoxItem; if (station != null) { miniMap.SetView(station.Coordinates, 16); } }
private void doneSearching(object sender, SearchCompletedEventArgs e) { if (e.Result.Errors != null) { SearchLoading.Text = "Error fetching data..."; return; } miniMap.Children.Clear(); if (e.Result.Phonebook == null) { SearchLoading.Text = "No results nearby..."; return; } ObservableCollection <StationItemViewModel> resultsModel = new ObservableCollection <StationItemViewModel>(); PhonebookResult[] r = e.Result.Phonebook.Results; SolidColorBrush pinBrush = new SolidColorBrush(Color.FromArgb(255, 85, 44, 105)); // Add the pushpins for (int i = 0; i < r.Length; i++) { Pushpin pin = new Pushpin(); pin.Location = new GeoCoordinate(r[i].Latitude, r[i].Longitude); pin.Background = pinBrush; pin.Content = i + 1; pin.Height = 60; pin.Width = 30; miniMap.Children.Add(pin); // Add it to our results model StationItemViewModel station = new StationItemViewModel(); station.Title = r[i].Title; station.Address = r[i].Address + ", " + r[i].City + ", " + r[i].StateOrProvince; station.PhoneNumber = r[i].PhoneNumber; station.ItemNumber = i + 1; station.Coordinates = pin.Location; station.Distance = distanceApart(_currentLocation, pin.Location).ToString(); resultsModel.Add(station); } SearchResults.ItemsSource = resultsModel; SearchLoading.Visibility = Visibility.Collapsed; SearchResults.Visibility = Visibility.Visible; }