private void CallT_Click(object sender, RoutedEventArgs e) { CBar.Value = 0; Car nearestCar = null; RStart = Passanger.getFocus(); var Obj = mapObjects.OrderBy(mapObject => mapObject.getDistance(RStart)); foreach (MapObject obj in Obj) { if (obj is Car) { nearestCar = (Car)obj; break; } } CallT.IsEnabled = false; var route = nearestCar.MoveTo(RStart); MapObject mapObject_path = new Route_c(OName.Text, "Route", route.Points, route.Points.First()); Map.Markers.Add(mapObject_path.GetMarker()); RoutingProvider routingProvider = GMapProviders.OpenStreetMap; MapRoute rroute = routingProvider.GetRoute(RStart, RFinish, false, false, 15); MapObject mapObject_path1 = new Route_c(OName.Text, "Route", rroute.Points, rroute.Points.First()); Map.Markers.Add(mapObject_path1.GetMarker()); nearestCar.Arrived += Passanger.CarArrived; Passanger.seated += nearestCar.getintocar; nearestCar.Follow += Focus_Follow; }
private void Map_MouseDoubleClick(object sender, MouseButtonEventArgs e) { point = Map.FromLocalToLatLng((int)e.GetPosition(Map).X, (int)e.GetPosition(Map).Y); if (selectpas == true) { var Obj = mapObjects.OrderBy(mapObject => mapObject.getDistance(point)); foreach (MapObject obj in Obj) { if (obj is Human) { Passanger = (Human)obj; selectpas = false; if (destselected == true) { Passanger.DPoint = destination; RStart = Passanger.getFocus(); MessageBox.Show("Now you can call taxi"); CallT.IsEnabled = true; } else { MessageBox.Show("Your choise is - " + "'" + Passanger.objectName + "'" + ", now choose the Destination"); } break; } } } if (selectdis == true) { var Obj = mapObjects.OrderBy(mapObject => mapObject.getDistance(point)); foreach (MapObject obj in Obj) { if ((obj is Human && obj != Passanger) || obj is Location_c || obj is Area || obj is Route_c) { destselected = true; selectdis = false; destination = obj.getFocus(); if (Passanger != null) { Passanger.DPoint = destination; RFinish = Passanger.DPoint; MessageBox.Show("Now you can call taxi"); CallT.IsEnabled = true; } else { MessageBox.Show("Сhoose a passenger to travel"); } break; } } } if (creationmode == true) { if (combox.SelectedIndex == 0) { createra.IsEnabled = true; } if (combox.SelectedIndex == 1) { createra.IsEnabled = true; } if (combox.SelectedIndex == 2) { createra.IsEnabled = true; } if (combox.SelectedIndex == 3) { routepoints.Add(point); rpointc += 1; if (rpointc >= 2) { createra.IsEnabled = true; clearpoints.IsEnabled = true; } } if (combox.SelectedIndex == 4) { areapoints.Add(point); apointc += 1; if (apointc >= 3) { createra.IsEnabled = true; clearpoints.IsEnabled = true; } } } else { OList.Items.Clear(); OList.Items.Add(null); secondList = mapObjects.OrderBy(mobject => mobject.getDistance(point)).ToList(); foreach (MapObject obj in secondList) { string mapObjectAndDistanceString = new StringBuilder() .Append(obj.getType()) .Append(" - ") .Append(obj.getTitle()) .Append(" - ") .Append(obj.getDistance(point).ToString("0.##")) .Append(" м.").ToString(); OList.Items.Add(mapObjectAndDistanceString); } secondact = true; } }
private void OList_SelectionChanged(object sender, SelectionChangedEventArgs e) { if (selectpas == true) { try { Passanger = (Human)secondList[OList.SelectedIndex - 1]; Map.Position = Passanger.getFocus(); selectpas = false; secondact = true; if (destselected == true) { Passanger.DPoint = destination; RStart = Passanger.getFocus(); MessageBox.Show("Now you can call taxi"); CallT.IsEnabled = true; } else { MessageBox.Show("Your choise is - " + "'" + Passanger.objectName + "'" + ", now choose the Destination"); } } catch { }; } else if (selectdis == true) { try { destination = secondList[OList.SelectedIndex - 1].getFocus(); Map.Position = secondList[OList.SelectedIndex - 1].getFocus(); destselected = true; if (Passanger != null) { Passanger.DPoint = destination; RFinish = Passanger.DPoint; MessageBox.Show("Now you can call taxi"); CallT.IsEnabled = true; } else { MessageBox.Show("Сhoose a passenger to travel"); } selectdis = false; secondact = true; } catch { }; } else { if (OList.SelectedIndex > 0 && secondact == false) { Map.Position = mapObjects[OList.SelectedIndex - 1].getFocus(); } else { if (OList.SelectedIndex > 0) { Map.Position = secondList[OList.SelectedIndex - 1].getFocus(); } } } }