コード例 #1
0
ファイル: MainPage.xaml.cs プロジェクト: joagwa/GetThere
        private void getClosestStop(SQLite.SQLiteAsyncConnection conn)
        //Executes created SQL to determine closest public transport stops to the user
        {
            if (conn == null)
            {
                return;
            }
            string sql = createStopSQL();
            ClosestStops = conn.QueryAsync<Stop>(sql).Result;
            if (ClosestStops.Count > 0) 
            {
                NoLocationsText.Visibility = System.Windows.Visibility.Collapsed;
                foreach (Stop stop in ClosestStops)
                {
                    stop.distance = Distance(myLocation, new GeoCoordinate(stop.stop_lat, stop.stop_lon), DistanceType.Kilometers);
                }
                ClosestStops = ClosestStops.OrderBy(x => x.distance).ToList();
                MarkStopsLocations(ClosestStops);
            }
            else
            {
                ApplicationBarIconButton btn = (ApplicationBarIconButton)ApplicationBar.Buttons[2];
                NoLocationsText.Text = string.Format("No {0} stops found near you.",btn.Text) ;
                NoLocationsText.Visibility = System.Windows.Visibility.Visible;
            }
            App.ViewModel.LoadData(ClosestStops, myLocation);
            //todo removed to see if it solves the multiple route issue
            //if (MainLongListSelector.ItemsSource.Count > 0)
            //{
            //    walkingRoute(myLocation, ParseGeoCoordinate(((GetThere.ViewModels.ItemViewModel)(MainLongListSelector.ItemsSource[0])).LineTwo.ToString()));

            //}
        }