protected override void OnBackKeyPress(CancelEventArgs e)
{
start_nav = false;
if (downloading.Visibility == Visibility.Visible)
{
e.Cancel = true;
return;
}
if (MapOptions.Visibility == Visibility.Visible)
{
e.Cancel = true;
MapOptions.Visibility = Visibility.Collapsed;
CanvasMenu.Visibility = Visibility.Visible;
if (directions_grid.Visibility != Visibility.Visible)
ApplicationBar.IsVisible = true;
return;
}
else
{
if (ApplicationBar.IsVisible == false)
{
ApplicationBar.IsVisible = true;
MapOptions.Visibility = Visibility.Collapsed;
}
}
//if (floorpicker.Visibility == Visibility.Visible)
//{
// SystemTray.IsVisible = false;
// floorpicker.Visibility = Visibility.Collapsed;
// e.Cancel = true;
// if (show_grid)
// {
// MoveViewWindow(-70);
// ApplicationBar.IsVisible = false;
// directions_grid.Visibility = Visibility.Visible;
// show_grid = false;
// }
// else
// {
// MoveViewWindow(30);
// ApplicationBar.IsVisible = true;
// }
// return;
//}
if (Mymap.Layers.Contains(_sourceLayer))
Mymap.Layers.Remove(_sourceLayer);
if (_polyline != null)
_polyline.Path.Clear();
if (Mymap.MapElements.Count != 0)
Mymap.MapElements.Clear();
if (downloading.Visibility == Visibility.Visible)
{
e.Cancel = true;
return;
}
if (ContentPanel.Visibility == Visibility.Visible)
{
SystemTray.IsVisible = false;
//MoveViewWindow(0);
ApplicationBar.IsVisible = true;
ContentPanel.Visibility = Visibility.Collapsed;
if (buildLoaded)
{
closeGrid.Visibility = Visibility.Visible;
}
e.Cancel = true;
return;
}
if (gd_result.Visibility == Visibility.Visible)
{
Dispatcher.BeginInvoke(() =>
{
if (ls_search.ItemsSource != null)
ls_search.ItemsSource.Clear();
});
e.Cancel = true;
gd_result.Visibility = Visibility.Collapsed;
Mymap.Layers.Remove(mapHoldLayer);
ApplicationBar.IsVisible = true;
MoveViewWindow(30);
}
if (directions_grid.Visibility == Visibility.Visible)
{
if (Mymap.Layers.Contains(indoorLayer))
Mymap.Layers.Remove(indoorLayer);
if (_routePoi != null)
_routePoi.pois.Clear();
// clear directions
if (GetRoute.Count != 0)
{
GetRoute.Clear();
if (_myMapRoute != null)
{
routedetails_layer.Clear();
Mymap.RemoveRoute(_myMapRoute);
Mymap.Layers.Remove(routedetails_layer);
routeNavDetails.Clear();
}
}
if (Mymap.Layers.Contains(detailPois))
{
Mymap.Layers.Remove(detailPois);
detailPois.Clear();
}
MoveViewWindow(30);
Mymap.Layers.Remove(mapHoldLayer);
Mymap.MapElements.Clear();
directions_grid.Visibility = Visibility.Collapsed;
stackpanelClose();
e.Cancel = true;
}
}