private async void IndoorNavigationRoutesPoiToPoi(string poiFrom, string poiTo) { try { var isNetwork = NetworkInterface.GetIsNetworkAvailable(); if (isNetwork) _routePoi = await CustomPushpinWp8APIClient.GetPoiToPoiRoute(poiFrom, poiTo); else { MessageBox.Show("No internet connection found. Check your internet connection and try again!"); directions_grid.Visibility = Visibility.Collapsed; stackpanelClose(); MoveViewWindow(30); ApplicationBar.IsVisible = true; return; } _selectedFloor = _floorPoiFromNumber; Dispatcher.BeginInvoke(() => { txt_cur.Text = _selectedFloor; }); ChangeFloor(); GetRouteOfTheCurrentFloor(); // clear route details if (Mymap.Layers.Contains(routedetails_layer)) Mymap.Layers.Remove(routedetails_layer); // clear directions if (GetRoute.Count != 0) { GetRoute.Clear(); if (_myMapRoute != null) Mymap.RemoveRoute(_myMapRoute); } ShowIndoorRoutesPoiToPoiResults(); } catch { directions_grid.Visibility = Visibility.Collapsed; stackpanelClose(); MoveViewWindow(30); ApplicationBar.IsVisible = true; if (_routePoi.message.Contains("same")) MessageBox.Show(_routePoi.message); else MessageBox.Show("Can not get navigation route inside building. Please check your internet connection!"); } }
private async void GetNavigationRoutesPoiToPoi(string poi_from, string poi_to, GeoCoordinate floorPoiLocation) { try { var isNetwork = NetworkInterface.GetIsNetworkAvailable(); if (isNetwork) { if (!poi_from.Equals(poi_to)) _routePoi = await CustomPushpinWp8APIClient.GetPoiToPoiRoute(poi_from, poi_to); } else { MessageBox.Show("No internet connection found. Check your internet connection and try again!"); directions_grid.Visibility = Visibility.Collapsed; stackpanelClose(); MoveViewWindow(30); ApplicationBar.IsVisible = true; return; } _getIndoornav = true; _selectedFloor = _floorPoiFromNumber; Dispatcher.BeginInvoke(() => { txt_cur.Text = _selectedFloor; }); ChangeFloor(); if (!poi_from.Equals(poi_to)) GetRouteOfTheCurrentFloor(); // clear route details if (Mymap.Layers.Contains(routedetails_layer)) Mymap.Layers.Remove(routedetails_layer); // clear directions if (GetRoute.Count != 0) { GetRoute.Clear(); if (_myMapRoute != null) Mymap.RemoveRoute(_myMapRoute); } var g = new GeoCoordinate(); // set phone current location if (!_externalSource) { g.Latitude = _myLatitude; g.Longitude = _myLongitude; } else { g.Latitude = _externalCoordinates.Latitude; g.Longitude = _externalCoordinates.Longitude; } GetRoute.Add(g); _mygeocodequery = new GeocodeQuery { SearchTerm = floorPoiLocation.ToString(), GeoCoordinate = g }; _mygeocodequery.QueryCompleted += MygeocodequeryPoiSearch_QueryCompleted; _mygeocodequery.QueryAsync(); } catch { directions_grid.Visibility = Visibility.Collapsed; stackpanelClose(); MoveViewWindow(30); if (directions_grid.Visibility != Visibility.Visible) ApplicationBar.IsVisible = true; if (_routePoi.message.Contains("same")) MessageBox.Show(_routePoi.message); else MessageBox.Show("Can not get navigation route inside building. Please check your internet connection!"); } }