//Example how to load search categories. public static GLSearchCategories GetSearchCategories(Resources resources) { if (searchCategories == null) { byte[] raw = null; byte[] icuData = null; try { //Read prepared categories System.IO.Stream stream = resources.OpenRawResource(Resource.Raw.categories); raw = new byte[21793]; stream.Read(raw, 0, raw.Length); stream.Close(); //Read icu collation data stream = resources.OpenRawResource(Resource.Raw.icudt56l); icuData = new byte[1018032]; stream.Read(icuData, 0, icuData.Length); stream.Close(); } catch (Java.IO.IOException e) { System.Console.WriteLine(e.ToString()); System.Console.Write(e.StackTrace); } //Construct categories searchCategories = GLSearchCategories.CreateFromBytes(raw, icuData); } return(searchCategories); }
internal virtual void offlineSearch() { GLSearchCategories categories = GetSearchCategories(Resources); GLSearchOffline searchOffline = new GLSearchOffline(); searchOffline.SetCategories(categories); //Set categories to use for search searchOffline.SetCenter(MapPoint.CreateFromGeoCoordinates(42.4341, 19.26)); //Set center of search searchOffline.SetLimit(20); //Set maximum number of results. By default is is 100 searchOffline.SetLocaleSettings(mapView.LocaleSettings); //Locale settings to give bonus for results that match to user language GLSearchCategory[] category = categories.GetStartedWith(new string[] { "food" }, localeSettings); //find categories by name if (category.Length != 0) { searchOffline.AddCategoryFilter(category[0]); //Filter results by category } //searchOffline.addNameFilter("cali"); //Add filter by name searchOffline.Start(new GLMapSearchCompletionAnonymousInnerClassHelper(this)); }