public void UpdateSearchResults(string query) { if (!string.IsNullOrEmpty(query)) { // create search request var searchRequest = new MKLocalSearchRequest { NaturalLanguageQuery = query, Region = new MKCoordinateRegion(map.UserLocation.Coordinate, new MKCoordinateSpan(0.25, 0.25)) }; // perform search var localSearch = new MKLocalSearch(searchRequest); localSearch.Start((response, error) => { if (response != null && error == null) { items = new List <MKMapItem>(response.MapItems); this.TableView.ReloadData(); } else { Console.WriteLine($"local search error: {error?.LocalizedDescription ?? ""}"); } }); } }
public void Search(string forSearchString) { // create search request var searchRequest = new MKLocalSearchRequest(); searchRequest.NaturalLanguageQuery = forSearchString; //searchRequest.Region = new MKCoordinateRegion(map.UserLocation.Coordinate, new MKCoordinateSpan(0.75, 0.75)); const double lat = 43.161030; const double lon = -77.610924; var mapCenter = new CLLocationCoordinate2D(lat, lon); searchRequest.Region = new MKCoordinateRegion(mapCenter, new MKCoordinateSpan(0.75, 0.75)); // perform search var localSearch = new MKLocalSearch(searchRequest); localSearch.Start(delegate(MKLocalSearchResponse response, NSError error) { if (response != null && error == null) { this.MapItems = response.MapItems.ToList(); this.TableView.ReloadData(); } else { Console.WriteLine("local search error: {0}", error); } }); }
// TODO: Step 5c - Search for items of interest in the current map view private void SearchForLocationsNearPosition(MKMapView mapView) { var searchRequest = new MKLocalSearchRequest(); searchRequest.NaturalLanguageQuery = "Bakery"; searchRequest.Region = mapView.Region; var localSearch = new MKLocalSearch(searchRequest); localSearch.Start(delegate(MKLocalSearchResponse response, NSError error) { if (response != null && error == null) { var items = response.MapItems.ToList(); PlotItems(mapView, items); // zoom in on the first item we plotted var firstItem = items.FirstOrDefault(); if (firstItem != null) { MKCoordinateSpan span = new MKCoordinateSpan(0.8, 0.8); CLLocationCoordinate2D coord = new CLLocationCoordinate2D( firstItem.Placemark.Location.Coordinate.Latitude, firstItem.Placemark.Location.Coordinate.Longitude); mapView.Region = new MKCoordinateRegion(coord, span); } } else { Console.WriteLine("local search error: {0}", error); } }); }
// Performs a natural language search for locations in the map's region that match the `searchBar`'s text. void PerformSearch() { var request = new MKLocalSearchRequest(); request.NaturalLanguageQuery = SearchBar.Text; const double multiplier = RegionQueryDegreeMultiplier; var querySpan = new MKCoordinateSpan(MapView.Region.Span.LatitudeDelta * multiplier, MapView.Region.Span.LongitudeDelta * multiplier); request.Region = new MKCoordinateRegion(MapView.Region.Center, querySpan); var search = new MKLocalSearch(request); var matchingItems = new List <MKMapItem> (); search.Start((response, error) => { MKMapItem[] mapItems = null; if (response != null) { mapItems = response.MapItems ?? new MKMapItem[0]; } foreach (var item in mapItems) { matchingItems.Add(item); var annotation = new MKPointAnnotation(); annotation.Coordinate = item.Placemark.Coordinate; annotation.Title = item.Name; MapView.AddAnnotation(annotation); } }); }
void search(object sender, EventArgs e) { var searcRequest = new MKLocalSearchRequest(); searcRequest.NaturalLanguageQuery = searchBar.Text; searcRequest.Region = new MKCoordinateRegion(map.UserLocation.Coordinate, new MKCoordinateSpan(0.25, 0.25)); var activeSearch = new MKLocalSearch(request: searcRequest); activeSearch.Start(delegate(MKLocalSearchResponse response, NSError error) { if (response != null && error == null) { double latitude = response.Region.Center.Latitude; double longitude = response.Region.Center.Longitude; var annotation = new MKPointAnnotation(); annotation.Title = searchBar.Text; annotation.Coordinate = new CLLocationCoordinate2D(latitude, longitude); map.AddAnnotation(annotation); map.SetRegion(response.Region, animated: true); } else { Console.WriteLine("ERROR"); } }); }
public void EmptyRequest() { if (!TestRuntime.CheckSystemAndSDKVersion(6, 1)) { Assert.Inconclusive("Requires iOS 6.1"); } using (var lsr = new MKLocalSearchRequest()) using (MKLocalSearch ls = new MKLocalSearch(lsr)) { lsr.Region = new MKCoordinateRegion(new CLLocationCoordinate2D(47, -71), new MKCoordinateSpan(1, 1)); bool wait = true; ls.Start((MKLocalSearchResponse response, NSError error) => { wait = false; }); Assert.True(ls.IsSearching, "IsSearching"); // wait a bit before cancelling the search (so it really starts) // otherwise IsSearching might never complete (on iOS8) and seems very random (in earlier versions) NSRunLoop.Main.RunUntil(NSDate.Now.AddSeconds(2)); ls.Cancel(); #if false // give it some time to cancel - but eventually time out int counter = 0; while (wait && (counter < 5)) { NSRunLoop.Main.RunUntil(DateTime.Now.AddSeconds(counter)); counter++; } Assert.False(ls.IsSearching, "IsSearching/Cancel"); #endif } }
private void LoadLocations() { if (_coords == null) { return; } var coordinate = new CLLocationCoordinate2D(_coords.Value.Latitude, _coords.Value.Longitude); var localSearch = new MKLocalSearch(new MKLocalSearchRequest() { NaturalLanguageQuery = "coffee", Region = new MKCoordinateRegion(coordinate, new MKCoordinateSpan(1.25, 1.25)) }); localSearch.Start((response, error) => { if (response != null && error == null) { _locations = response.MapItems; _parent.OnLocationsUpdate(_locations); } else { Console.WriteLine("local search error: {0}", error); } }); }
public void Search (string forSearchString) { // create search request var searchRequest = new MKLocalSearchRequest (); searchRequest.NaturalLanguageQuery = forSearchString; searchRequest.Region = new MKCoordinateRegion (map.UserLocation.Coordinate, new MKCoordinateSpan (0.25, 0.25)); // perform search var localSearch = new MKLocalSearch (searchRequest); localSearch.Start (delegate (MKLocalSearchResponse response, NSError error) { if (response != null && error == null) { this.MapItems = response.MapItems.ToList (); this.TableView.ReloadData (); } else { Console.WriteLine ("local search error: {0}", error); } }); }
public void Search(string forSearchString) { //erstelle SUchanfrage var searchRequest = new MKLocalSearchRequest(); searchRequest.NaturalLanguageQuery = forSearchString; searchRequest.Region = new MKCoordinateRegion(mapView.UserLocation.Coordinate, new MKCoordinateSpan(0.25, 0.25)); var localSearch = new MKLocalSearch(searchRequest); localSearch.Start(delegate(MKLocalSearchResponse response, NSError error) { if (response != null && error == null) { this.MapItems = response.MapItems.ToList(); this.TableView.ReloadData(); } else { } }); }
public void Search(string forSearchString) { var searchRequest = new MKLocalSearchRequest(); searchRequest.NaturalLanguageQuery = forSearchString; searchRequest.Region = new MKCoordinateRegion(mapa.UserLocation.Coordinate, new MKCoordinateSpan(0.25, 0.25)); var localSearch = new MKLocalSearch(searchRequest); localSearch.Start(delegate(MKLocalSearchResponse response, NSError error) { if (response != null && error == null) { this.MapItems = response.MapItems.ToList(); this.TableView.ReloadData(); } else { Console.WriteLine("Lokální chyba vyhledávání: {0}", error); } }); }
void Search(string what, string where) { var coord = here == null?Parse(where) : here.Coordinate; MKCoordinateSpan span = new MKCoordinateSpan(0.25, 0.25); MKLocalSearchRequest request = new MKLocalSearchRequest(); request.Region = new MKCoordinateRegion(coord, span); request.NaturalLanguageQuery = what; MKLocalSearch search = new MKLocalSearch(request); search.Start(delegate(MKLocalSearchResponse response, NSError error) { // this is executed in the application main thread if (response == null || error != null) { return; } var section = new Section("Search Results for " + what); results.Clear(); foreach (MKMapItem mi in response.MapItems) { results.Add(mi); var element = new StyledStringElement(mi.Name, mi.PhoneNumber, UITableViewCellStyle.Subtitle); element.Accessory = UITableViewCellAccessory.DisclosureIndicator; element.Tapped += () => { results [element.IndexPath.Row].OpenInMaps(); }; section.Add(element); } var root = new RootElement("MapKit Search Sample") { section }; var dvc = new DialogViewController(root); (window.RootViewController as UINavigationController).PushViewController(dvc, true); }); }
// TODO: Step 5a - search for an address private void SearchForAddress(MKMapView mapView) { var searchRequest = new MKLocalSearchRequest(); searchRequest.NaturalLanguageQuery = "Main Street, New York, NY"; // searchRequest.Region = new MKCoordinateRegion (mapView.UserLocation.Coordinate, new MKCoordinateSpan (0.25, 0.25)); // perform search var localSearch = new MKLocalSearch(searchRequest); localSearch.Start(delegate(MKLocalSearchResponse response, NSError error) { if (response != null && error == null) { var items = response.MapItems.ToList(); PlotItems(mapView, items); } else { Console.WriteLine("local search error: {0}", error); } }); }
public override bool ShouldReloadForSearchString(UISearchDisplayController controller, string forSearchString) { // create search request var searchRequest = new MKLocalSearchRequest(); searchRequest.NaturalLanguageQuery = forSearchString; searchRequest.Region = new MKCoordinateRegion(map.UserLocation.Coordinate, new MKCoordinateSpan(0.25, 0.25)); // perform search var localSearch = new MKLocalSearch(searchRequest); localSearch.Start(delegate(MKLocalSearchResponse response, NSError error) { if (response != null && error == null) { ((SearchSource)controller.SearchResultsSource).MapItems = response.MapItems.ToList(); controller.SearchResultsTableView.ReloadData(); } else { Console.WriteLine("local search error: {0}", error); // In "MKTypes.h" in the MapKit framework, the following is defined: // // Error constants for the Map Kit framework. // // enum MKErrorCode { // MKErrorUnknown = 1, // MKErrorServerFailure, // MKErrorLoadingThrottled, // MKErrorPlacemarkNotFound, // }; } }); return(true); }
//krijg lat en long op basis van adres public void GetPosition() { var myVM = this.ViewModel as AddContactInfoViewModel; if (myVM != null) { //krijg lat en long op basis van adres string var searchRequest = new MKLocalSearchRequest(); searchRequest.NaturalLanguageQuery = myVM.Location.ToString(); var localSearch = new MKLocalSearch(searchRequest); localSearch.Start(delegate(MKLocalSearchResponse response, NSError error) { if (response != null && error == null) { myVM.Location.Lat = response.MapItems[0].Placemark.Location.Coordinate.Latitude; myVM.Location.Lon = response.MapItems[0].Placemark.Location.Coordinate.Longitude; } else { Console.WriteLine("local search error: {0}", error); } }); } }
void SearchLocal(object sender, EventArgs e) { MKLocalSearchRequest request = new MKLocalSearchRequest(); request.NaturalLanguageQuery = CustomMapView.SearchText; request.Region = NativeMapView.Region; MKLocalSearch search = new MKLocalSearch(request); search.Start((MKLocalSearchResponse response, Foundation.NSError error) => { if (error != null) { System.Diagnostics.Debug.WriteLine(error.Description); } else if (response.MapItems.Length == 0) { System.Diagnostics.Debug.WriteLine("No matches found for search: " + CustomMapView.SearchText); } else { ClearRoute(null, null); foreach (MKMapItem mapItem in response.MapItems) { MKPointAnnotation annotation = new MKPointAnnotation(); annotation.Coordinate = mapItem.Placemark.Coordinate; annotation.Title = mapItem.Name; annotationsList.Add(annotation); } NativeMapView.ShowAnnotations(annotationsList.ToArray(), true); } }); }
// Performs a natural language search for locations in the map's region that match the `searchBar`'s text. void PerformSearch () { var request = new MKLocalSearchRequest (); request.NaturalLanguageQuery = SearchBar.Text; const double multiplier = RegionQueryDegreeMultiplier; var querySpan = new MKCoordinateSpan (MapView.Region.Span.LatitudeDelta * multiplier, MapView.Region.Span.LongitudeDelta * multiplier); request.Region = new MKCoordinateRegion (MapView.Region.Center, querySpan); var search = new MKLocalSearch (request); var matchingItems = new List<MKMapItem> (); search.Start ((response, error) => { MKMapItem[] mapItems = null; if (response != null) mapItems = response.MapItems ?? new MKMapItem[0]; foreach (var item in mapItems) { matchingItems.Add (item); var annotation = new MKPointAnnotation (); annotation.Coordinate = item.Placemark.Coordinate; annotation.Title = item.Name; MapView.AddAnnotation (annotation); } }); }
public override bool ShouldReloadForSearchString (UISearchDisplayController controller, string forSearchString) { // create search request var searchRequest = new MKLocalSearchRequest (); searchRequest.NaturalLanguageQuery = forSearchString; searchRequest.Region = new MKCoordinateRegion (map.UserLocation.Coordinate, new MKCoordinateSpan (0.25, 0.25)); // perform search var localSearch = new MKLocalSearch (searchRequest); localSearch.Start (delegate (MKLocalSearchResponse response, NSError error) { if (response != null && error == null) { ((SearchSource)controller.SearchResultsSource).MapItems = response.MapItems.ToList(); controller.SearchResultsTableView.ReloadData(); } else { Console.WriteLine ("local search error: {0}", error); // In "MKTypes.h" in the MapKit framework, the following is defined: // // Error constants for the Map Kit framework. // // enum MKErrorCode { // MKErrorUnknown = 1, // MKErrorServerFailure, // MKErrorLoadingThrottled, // MKErrorPlacemarkNotFound, // }; } }); return true; }
void Search (string what, string where) { var coord = here == null ? Parse (where) : here.Coordinate; MKCoordinateSpan span = new MKCoordinateSpan (0.25, 0.25); MKLocalSearchRequest request = new MKLocalSearchRequest (); request.Region = new MKCoordinateRegion (coord, span); request.NaturalLanguageQuery = what; MKLocalSearch search = new MKLocalSearch (request); search.Start (delegate (MKLocalSearchResponse response, NSError error) { // this is executed in the application main thread if (response == null || error != null) return; var section = new Section ("Search Results for " + what); results.Clear (); foreach (MKMapItem mi in response.MapItems) { results.Add (mi); var element = new StyledStringElement (mi.Name, mi.PhoneNumber, UITableViewCellStyle.Subtitle); element.Accessory = UITableViewCellAccessory.DisclosureIndicator; element.Tapped += () => { results [element.IndexPath.Row].OpenInMaps (); }; section.Add (element); } var root = new RootElement ("MapKit Search Sample") { section }; var dvc = new DialogViewController (root); (window.RootViewController as UINavigationController).PushViewController (dvc, true); }); }
public override bool ShouldReloadForSearchString(UISearchDisplayController controller, string forSearchString) { // create search request var searchRequest = new MKLocalSearchRequest (); searchRequest.NaturalLanguageQuery = forSearchString; searchRequest.Region = new MKCoordinateRegion (map.UserLocation.Coordinate, new MKCoordinateSpan (0.25, 0.25)); // perform search var localSearch = new MKLocalSearch (searchRequest); localSearch.Start (delegate (MKLocalSearchResponse response, NSError error) { if (response != null && error == null) { ((SearchSource)controller.SearchResultsSource).MapItems = GetList(response.MapItems); controller.SearchResultsTableView.ReloadData(); } else { Console.WriteLine ("local search error: {0}", error); } }); return true; }
// TODO: Step 5a - search for an address private void SearchForAddress(MKMapView mapView) { var searchRequest = new MKLocalSearchRequest (); searchRequest.NaturalLanguageQuery = "Main Street, New York, NY"; // searchRequest.Region = new MKCoordinateRegion (mapView.UserLocation.Coordinate, new MKCoordinateSpan (0.25, 0.25)); // perform search var localSearch = new MKLocalSearch (searchRequest); localSearch.Start (delegate (MKLocalSearchResponse response, NSError error) { if (response != null && error == null) { var items = response.MapItems.ToList(); PlotItems(mapView, items); } else { Console.WriteLine ("local search error: {0}", error); } }); }
private void LoadLocations() { if (_coords == null) { return; } var coordinate = new CLLocationCoordinate2D(_coords.Value.Latitude, _coords.Value.Longitude); var localSearch = new MKLocalSearch (new MKLocalSearchRequest () { NaturalLanguageQuery = "coffee", Region = new MKCoordinateRegion (coordinate, new MKCoordinateSpan (1.25, 1.25)) }); localSearch.Start ((response, error) => { if (response != null && error == null) { _locations = response.MapItems; _parent.OnLocationsUpdate (_locations); } else { Console.WriteLine ("local search error: {0}", error); } }); }
// TODO: Step 5c - Search for items of interest in the current map view private void SearchForLocationsNearPosition(MKMapView mapView) { var searchRequest = new MKLocalSearchRequest(); searchRequest.NaturalLanguageQuery = "Bakery"; searchRequest.Region = mapView.Region; var localSearch = new MKLocalSearch(searchRequest); localSearch.Start (delegate (MKLocalSearchResponse response, NSError error) { if (response != null && error == null) { var items = response.MapItems.ToList(); PlotItems(mapView, items); // zoom in on the first item we plotted var firstItem = items.FirstOrDefault(); if (firstItem != null) { MKCoordinateSpan span = new MKCoordinateSpan(0.8, 0.8); CLLocationCoordinate2D coord = new CLLocationCoordinate2D( firstItem.Placemark.Location.Coordinate.Latitude, firstItem.Placemark.Location.Coordinate.Longitude); mapView.Region = new MKCoordinateRegion(coord, span); } } else { Console.WriteLine ("local search error: {0}", error); } }); }