/// <summary> /// Handles clicks to the Travel Mode button and /// update selected travel mode. /// </summary> private void TravelMode_Click(object sender, RoutedEventArgs e) { ToggleButton btn = (ToggleButton)sender; if (RouteDatas.Count > 0) { RouteDatas.Clear(); } driveButton.IsChecked = false; busButton.IsChecked = false; walkButton.IsChecked = false; string selectedMode = btn.Name.ToString(); switch (selectedMode) { case "driveButton": travelMode = TravelMode.car; driveButton.IsChecked = true; break; case "busButton": travelMode = TravelMode.bus; busButton.IsChecked = true; break; case "walkButton": travelMode = TravelMode.pedestrian; walkButton.IsChecked = true; break; default: travelMode = TravelMode.car; break; } GetRouteDirections(); }
/// <summary> /// Handles clicks to the Close RouteDirection Grid button and /// collapse RouteDirectionGrid. /// </summary> private void CloseRouteDirectionGrid_Click(object sender, RoutedEventArgs e) { TravelTimeOptionGrid.Visibility = Visibility.Collapsed; leaveNowButton.IsChecked = true; leaveatButton.IsChecked = false; arrivebyButton.IsChecked = false; timePicker.Time = DateTime.Now.TimeOfDay; timePicker.SelectedTime = DateTime.Now.TimeOfDay; if (calendarView.SelectedDates.Count > 0) { calendarView.SelectedDates.Clear(); calendarView.SelectedDates.Add(DateTime.Now); } RouteDirectionSplitView.IsPaneOpen = false; if (RouteDatas.Count > 0) { RouteDatas.Clear(); } }
/// <summary> /// Search routes to selected destination/waypoints /// </summary> private async void GetRouteDirections() { if (RouteDatas == null) { return; } if (RouteDatas.Count > 0) { RouteDatas.Clear(); } if (RouteWaypoints.Count < 2) { return; } List <BasicGeoposition> pts = RouteWaypoints.Select(loc => loc.Position).ToList(); DateTime dateTime = DateTime.Now.AddMinutes(1); if ((leaveatButton.IsChecked.Value) || (arrivebyButton.IsChecked.Value)) { var dts = calendarView.SelectedDates.ToList(); dateTime = dts[0].DateTime.Date.AddMinutes(timePicker.SelectedTime.Value.TotalMinutes); } var avoids = GetAvoids(); var language = (LanguageComboBox.SelectedItem as ComboBoxItem).Tag.ToString(); RouteDirectionsResponse results = new RouteDirectionsResponse(); if (leaveatButton.IsChecked.Value || leaveatButton.IsChecked.Value) { results = await LocationHelper.GetRouteDirections(pts, language, travelMode, avoids, routeType, RouteOptionsCountComboBox.SelectedIndex, dateTime, null); } else { results = await LocationHelper.GetRouteDirections(pts, language, travelMode, avoids, routeType, RouteOptionsCountComboBox.SelectedIndex, null, dateTime); } if (results == null) { return; } foreach (var route in results.routes) { var routedata = new RouteData() { Route = route, IsLeaveNow = leaveNowButton.IsChecked.Value, IsArriveBy = arrivebyButton.IsChecked.Value, IsLeaveAt = leaveatButton.IsChecked.Value, IsShowed = false, StartLocationLable = RouteWaypoints[0].Name, EndLocationLabel = RouteWaypoints[RouteWaypoints.Count - 1].Name }; RouteDatas.Add(routedata); } }