/// <summary> /// An asynchronous wrapper around Skobbler's NearbySearch() /// </summary> /// <param name="nearbySearchObj">The nearby search object</param> /// <exception cref="SKSearchStatusException">Thrown if the searchStatus returned by NearbySearch() is not equal to SkSearchNoError</exception> /// <returns>An IList of SKSearchResult</returns> public async Task <IList <SKSearchResult> > NearbySearchAsync(SKNearbySearchSettings nearbySearchObj) { var taskCompletionSource = new TaskCompletionSource <IList <SKSearchResult> >(); var searchListener = new SKSearchListener(taskCompletionSource); SetSearchListener(searchListener); SKSearchStatus searchStatus = NearbySearch(nearbySearchObj); if (searchStatus != SKSearchStatus.SkSearchNoError) { taskCompletionSource.TrySetException(new SKSearchStatusException(searchStatus, "The search status returned by NearbySearch is not SKSearchNoError")); } return(await taskCompletionSource.Task); }
private void StartSearch() { SKSearchManager searchManager = new SKSearchManager(this); SKNearbySearchSettings searchObject = new SKNearbySearchSettings { Location = new SKCoordinate(13.387165, 52.516929), Radius = 1500, SearchResultsNumber = 300, SearchTerm = String.Empty, }; searchObject.SetSearchCategories(MainCategories); SKSearchStatus status = searchManager.NearbySearch(searchObject); if (status != SKSearchStatus.SkSearchNoError) { Toast.MakeText(this, "An error occurred", ToastLength.Short).Show(); } }
protected override void OnCreate(Bundle savedInstanceState) { base.OnCreate(savedInstanceState); SetContentView(Resource.Layout.activity_list); FindViewById <TextView>(Resource.Id.label_operation_in_progress).Text = Resources.GetString(Resource.String.searching); _listView = FindViewById <ListView>(Resource.Id.list_view); _searchManager = new SKSearchManager(this); SKNearbySearchSettings nearbySearchObject = new SKNearbySearchSettings { Location = new SKCoordinate(Intent.GetDoubleExtra("longitude", 0), Intent.GetDoubleExtra("latitude", 0)), Radius = Intent.GetShortExtra("radius", (short)0), SearchTerm = Intent.GetStringExtra("searchTopic"), }; SKSearchStatus status = _searchManager.NearbySearch(nearbySearchObject); if (status != SKSearchStatus.SkSearchNoError) { Toast.MakeText(this, "An error occurred", ToastLength.Short).Show(); } }