private void Mtsp_Click(object sender, RoutedEventArgs e) { FindMTSPPathsParameters<int> param = new FindMTSPPathsParameters<int> { Centers = new List<int> { 2, 5, 7 }, Nodes = new List<int> { 1, 6, 21 }, HasLeastTotalCost = false, Parameter = new TransportationAnalystParameter { ResultSetting = new TransportationAnalystResultSetting { ReturnEdgeFeatures = true, ReturnEdgeGeometry = true, ReturnEdgeIDs = true, //ReturnImage = false, ReturnNodeFeatures = true, ReturnNodeGeometry = true, ReturnNodeIDs = true, ReturnPathGuides = true, ReturnRoutes = true }, //MapParameter = new NAResultMapParameter //{ // Viewer = new Rect(0, 0, 256, 256), // Format = OutputFormat.PNG //}, WeightFieldName = "length", TurnWeightField = "TurnCost" } }; FindMTSPPathsParameters<Point2D> paramPoint = new FindMTSPPathsParameters<Point2D> { Centers = new List<Point2D> { new Point2D(4737.65773280094, -3406.06007171244), new Point2D(5645.28372661686, -3312.88173774655) }, Nodes = new List<Point2D> { new Point2D(5737.65773280094, -3406.06007171244), new Point2D(4645.28372661686, -3312.88173774655) }, HasLeastTotalCost = false, Parameter = new TransportationAnalystParameter { ResultSetting = new TransportationAnalystResultSetting { ReturnEdgeFeatures = true, ReturnEdgeGeometry = true, ReturnEdgeIDs = true, //ReturnImage = false, ReturnNodeFeatures = true, ReturnNodeGeometry = true, ReturnNodeIDs = true, ReturnPathGuides = true, ReturnRoutes = true }, //MapParameter = new NAResultMapParameter //{ // Viewer = new Rect(0, 0, 256, 256), // Format = OutputFormat.PNG //}, WeightFieldName = "length", TurnWeightField = "TurnCost" } }; FindMTSPPathsService mTSPPathsService = new FindMTSPPathsService(networkUrl); mTSPPathsService.ProcessAsync(paramPoint); mTSPPathsService.Failed += Failed; mTSPPathsService.ProcessCompleted += new EventHandler<FindMTSPPathsEventArgs>(mTSPPathsService_ProcessCompleted); }
private void PathAnalyst_Click(object sender, RoutedEventArgs e) { if (points.Count == 0) { MessageBox.Show("请选择配送目标"); return; } FindMTSPPathsParameters<Point2D> paramPoint2D = new FindMTSPPathsParameters<Point2D> { HasLeastTotalCost = false, //已选定的中心站点 Centers = new List<Point2D> { new Point2D(4100, -4100), new Point2D(4500, -3000), new Point2D(5000, -3500) }, Nodes = points, Parameter = new TransportationAnalystParameter { BarrierEdgeIDs = null, BarrierNodeIDs = null, TurnWeightField = "TurnCost", WeightFieldName = "length", ResultSetting = new TransportationAnalystResultSetting { ReturnEdgeFeatures = true, ReturnEdgeGeometry = true, ReturnEdgeIDs = true, ReturnNodeFeatures = true, ReturnNodeGeometry = true, ReturnNodeIDs = true, ReturnPathGuides = true, ReturnRoutes = true } } }; //与服务器交互 FindMTSPPathsService findMTSPPathsService = new FindMTSPPathsService("http://*****:*****@Changchun"); findMTSPPathsService.ProcessAsync(paramPoint2D); findMTSPPathsService.ProcessCompleted += new EventHandler<FindMTSPPathsEventArgs>(findMTSPPathsService_ProcessCompleted); findMTSPPathsService.Failed += new EventHandler<ServiceFailedEventArgs>(findMTSPPathsService_Failed); }
async private void PathAnalyst_Click(object sender, RoutedEventArgs e) { if (points.Count == 0) { await MessageBox.Show("请选择配送目标"); return; } FindMTSPPathsParameters<Point2D> paramPoint2D = new FindMTSPPathsParameters<Point2D> { HasLeastTotalCost = false, //已选定的中心站点 Centers = new List<Point2D> { new Point2D(4100, -4100), new Point2D(4500, -3000), new Point2D(5000, -3500) }, Nodes = points, Parameter = new TransportationAnalystParameter { BarrierEdgeIDs = null, BarrierNodeIDs = null, TurnWeightField = "TurnCost", WeightFieldName = "length", ResultSetting = new TransportationAnalystResultSetting { ReturnEdgeFeatures = true, ReturnEdgeGeometry = true, ReturnEdgeIDs = true, ReturnNodeFeatures = true, ReturnNodeGeometry = true, ReturnNodeIDs = true, ReturnPathGuides = true, ReturnRoutes = true } } }; //与服务器交互 try { FindMTSPPathsService findMTSPPathsService = new FindMTSPPathsService(url); var result = await findMTSPPathsService.ProcessAsync(paramPoint2D); //路径样式 PredefinedLineStyle simpleLineStyle = new PredefinedLineStyle(); simpleLineStyle.Stroke = new SolidColorBrush(Colors.Blue); simpleLineStyle.StrokeThickness = 2; if (result != null && result.MTSPathList != null) { foreach (ServerPath p in result.MTSPathList) { //将要素添加到图层上 featuresLayer.Features.Add(new Feature { Geometry = p.Route.Line, Style = simpleLineStyle }); } } } catch (Exception ex) { MessageBox.Show(ex.Message); } }