private void floorUp(object sender, RoutedEventArgs e)
{
if (!buildLoaded)
return;
if (mapHoldLayer != null)
{
mapHoldLayer.Clear();
if (Mymap.Layers.Contains(mapHoldLayer))
{
Mymap.Layers.Remove(mapHoldLayer);
}
}
if (floorPoisDetail != null)
{
floorPoisDetail.Clear();
if (Mymap.Layers.Contains(floorPoisDetail))
Mymap.Layers.Remove(floorPoisDetail);
}
var sel = txt_cur.Text;
if (String.IsNullOrEmpty(sel))
return;
var x = int.Parse(sel);
x = x + 1;
bool correct = false;
string floor = null;
foreach (var obj in _allbuildingfloors.floors)
{
if (obj.floor_number.Equals(x.ToString()))
{
correct = true;
floor = obj.floor_number;
}
}
if (!correct)
return;
if (buildLoaded)
{
_selectedFloor = floor;
Dispatcher.BeginInvoke(() =>
{
txt_cur.Text = _selectedFloor;
});
Mymap.TileSources.Clear();
ChangeFloor();
if (!_selectedFloor.Equals(_floorPoiToNumber))
Mymap.MapElements.Clear();
else
{
if (_polyline != null)
if (!Mymap.MapElements.Contains(_polyline))
Mymap.MapElements.Add(_polyline);
}
if (_routePoi != null)
if (_routePoi.pois != null)
if (_routePoi.pois.Count > 0)
GetRouteOfTheCurrentFloor();
if (Mymap.Layers.Contains(indoorLayer))
{
Mymap.Layers.Remove(indoorLayer);
indoorLayer.Clear();
if (_floorPoiFromNumber == _floorPoiToNumber)
{
if (_selectedFloor == _floorPoiToNumber)
{
indoorLayer.Add(_overlayFrom);
indoorLayer.Add(_overlayTo);
}
}
else
{
if (_selectedFloor == _floorPoiFromNumber)
{
indoorLayer.Add(_overlayFrom);
}
else
if (_selectedFloor == _floorPoiToNumber)
indoorLayer.Add(_overlayTo);
}
Mymap.Layers.Add(indoorLayer);
}
}
}