void mapControl1_MapMouseClick(MapControlEventArgs e) { if (_router != null) { var routerPoint = _router.Resolve(Vehicle.Car, e.Position); if (routerPoint != null) { _points.Add(routerPoint); _layerPrimitives.AddPoint(routerPoint.Location, 15, SimpleColor.FromKnownColor(KnownColor.Black).Value); _layerPrimitives.AddPoint(routerPoint.Location, 7, SimpleColor.FromKnownColor(KnownColor.White).Value); } if (_points.Count > 1) { var tspRouter = new RouterTSPWrapper <RouterTSPAEXGenetic>( new RouterTSPAEXGenetic(), _router); var route = tspRouter.CalculateTSP(Vehicle.Car, _points.ToArray()); if (route != null) { _layerRoute.Clear(); _layerRoute.AddRoute(route); } } } }
void mapControl1_MapMouseClick(MapControlEventArgs e) { if (_router != null) { if (_point1 == null) { _point1 = _router.Resolve(Vehicle.Car, e.Position); } else if (_point2 == null) { _point2 = _router.Resolve(Vehicle.Car, e.Position); } else { _point1 = _point2; _point2 = _router.Resolve(Vehicle.Car, e.Position); } if (_point1 != null && _point2 != null) { Route route = _router.Calculate(Vehicle.Car, _point1, _point2); if (route != null) { _routeLayer.Clear(); _routeLayer.AddRoute(route); } } } }
/// <summary> /// Handles the tap event. /// </summary> /// <param name="coordinate"></param> async void _mapView_MapTapEvent(GeoCoordinate coordinate) { if (_previous != null) { var route = RouterFacade.Calculate(_previous, coordinate); _routeLayer.Clear(); if (route != null) { _routeLayer.AddRoute(route); // TODO: issue #120. (_mapView as IMapView).Invalidate(); } } _previous = coordinate; }