Example #1
0
        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!");
            }
        }
Example #2
0
        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!");
            }
        }