private async void BuildingSearch(string name)
{
if (buildLoaded)
{
foreach (var obj in _poisByBuilding.pois)
{
if (obj.name.Equals(name) || obj.description.Equals(name))
{
_selectedBuild = obj.buid;
_selectedFloor = obj.floor_number;
Dispatcher.BeginInvoke(() =>
{
txt_cur.Text = _selectedFloor;
});
_wmstileprovider = new WMSTiles();
_wmstileprovider.setBuidAndFloor(_selectedBuild, _selectedFloor);
if (Mymap.TileSources.Contains(_wmstileprovider))
Mymap.TileSources.Remove(_wmstileprovider);
Mymap.TileSources.Add(_wmstileprovider);
ChangeFloor();
if (directions_grid.Visibility == Visibility.Visible)
GetRouteOfTheCurrentFloor();
foreach (var o in poisByFloor_layer)
{
var x = o.Content as Image;
if (o.GeoCoordinate == new GeoCoordinate(double.Parse(obj.coordinates_lat, CultureInfo.InvariantCulture), double.Parse(obj.coordinates_lon, CultureInfo.InvariantCulture)))
buildingImg_tap(x.DataContext as FloorPoisDetails);
}
Mymap.SetView(new GeoCoordinate(double.Parse(obj.coordinates_lat, CultureInfo.InvariantCulture), double.Parse(obj.coordinates_lon, CultureInfo.InvariantCulture)), 20);
_foundBuilding = true;
break;
}
}
}
foreach (var obj in _worldbuildings.buildings)
{
if (obj.name.Equals(name))
{
var floor_num = "";
var lat = double.Parse(obj.coordinates_lat, CultureInfo.InvariantCulture);
var lon = double.Parse(obj.coordinates_lon, CultureInfo.InvariantCulture);
var settings1 = IsolatedStorageFile.GetUserStoreForApplication();
if (settings1.DirectoryExists(obj.buid) && checkCompleted(obj.buid))
{
// load staff to the map
clear();
ReadAllBuildingFloorsFromIsolatedStorage(obj.buid);
ReadPoisByBuildingFromIsolatedStorage(obj.buid);
addBuildingsToMap(obj.buid);
buildLoaded = true;
loadBuidingToMap(obj.buid);
createAppBarMenuItem();
}
else
{
isDownloading = true;
//ApplicationBar.IsVisible = false;
//downloading.Visibility = Visibility.Visible;
loading.Visibility = Visibility.Visible;
loading.IsIndeterminate = true;
clear();
// download staff and show them to the map
var fsdf = await DownloadPoisBuildStaff(obj.buid);
ReadAllBuildingFloorsFromIsolatedStorage(obj.buid);
ReadPoisByBuildingFromIsolatedStorage(obj.buid);
addBuildingsToMap(obj.buid);
buildLoaded = true;
loadBuidingToMap(obj.buid);
loading.Visibility = Visibility.Collapsed;
loading.IsIndeterminate = false;
createAppBarMenuItem();
isDownloading = false;
}
Mymap.SetView(new GeoCoordinate(lat, lon), 20, MapAnimationKind.Parabolic);
SystemTray.IsVisible = false;
_foundBuilding = true;
break;
}
}
}