private async void GetPoisByFloor(string build, string floor)
{
loading.Visibility = Visibility.Visible;
loading.IsIndeterminate = true;
poisByFloor_layer = new MapLayer();
if (Mymap.Layers.Contains(poisByFloor_layer))
Mymap.Layers.Remove(poisByFloor_layer);
try
{
_y = await CustomPushpinWp8APIClient.GetPoisByFloor(build, floor);
foreach (var obj in _y.pois)
{
if (!obj.pois_type.Equals("None"))
{
var poi = new FloorPoisDetails
{
Coordinates =
new GeoCoordinate(double.Parse(obj.coordinates_lat, CultureInfo.InvariantCulture), double.Parse(obj.coordinates_lon, CultureInfo.InvariantCulture)),
Description = obj.name,
Information = obj.description,
poiid = obj.puid,
poiFloor = obj.floor_number
};
if (obj.is_building_entrance != null)
poi.Entrange = bool.Parse(obj.is_building_entrance);
else
poi.Entrange = false;
var imageFloorPois = new Image
{
Source = new BitmapImage(new Uri("/Assets/other_loc.png", UriKind.Relative)),
DataContext = poi
};
imageFloorPois.Tap += image_floor_pois_Tap;
poisbyflooroverlay = new MapOverlay
{
Content = imageFloorPois,
GeoCoordinate = poi.Coordinates,
PositionOrigin = new Point(0.5, 1.0)
};
poisByFloor_layer.Add(poisbyflooroverlay);
}
}
Mymap.Layers.Add(poisByFloor_layer);
}
catch
{
loading.Visibility = Visibility.Collapsed;
loading.IsIndeterminate = false;
downloading.Visibility = Visibility.Collapsed;
MessageBox.Show("Can not load floor pois. Please check your connection and try again!");
}
loading.Visibility = Visibility.Collapsed;
loading.IsIndeterminate = false;
downloading.Visibility = Visibility.Collapsed;
}