private void PathAnalyst_Click(object sender, RoutedEventArgs e) { if (points.Count == 0) { MessageBox.Show("请指定途经点"); return; } FindTSPPathsParameters<Point2D> paramPoint2D = new FindTSPPathsParameters<Point2D> { EndNodeAssigned = (bool)terminal.IsChecked, Nodes = points, Parameter = new TransportationAnalystParameter { TurnWeightField = "TurnCost", WeightFieldName = "length", ResultSetting = new TransportationAnalystResultSetting { ReturnEdgeFeatures = true, ReturnEdgeGeometry = true, ReturnEdgeIDs = true, ReturnNodeFeatures = true, ReturnNodeGeometry = true, ReturnNodeIDs = true, ReturnPathGuides = true, ReturnRoutes = true, } }, }; //与服务器交互 FindTSPPathsService findTSPPathsService = new FindTSPPathsService("/iserver/services/components-rest/rest/networkanalyst/RoadNet@Changchun"); findTSPPathsService.ProcessAsync(paramPoint2D); findTSPPathsService.ProcessCompleted += new EventHandler<FindTSPPathsEventArgs>(findTSPPathsService_ProcessCompleted); findTSPPathsService.Failed += new EventHandler<ServiceFailedEventArgs>(findTSPPathsService_Failed); }
async private void PathAnalyst_Click(object sender, RoutedEventArgs e) { if (points.Count == 0) { await MessageBox.Show("请指定途经点"); return; } FindTSPPathsParameters<Point2D> paramPoint2D = new FindTSPPathsParameters<Point2D> { EndNodeAssigned = (bool)terminal.IsChecked, Nodes = points, Parameter = new TransportationAnalystParameter { TurnWeightField = "TurnCost", WeightFieldName = "length", ResultSetting = new TransportationAnalystResultSetting { ReturnEdgeFeatures = true, ReturnEdgeGeometry = true, ReturnEdgeIDs = true, ReturnNodeFeatures = true, ReturnNodeGeometry = true, ReturnNodeIDs = true, ReturnPathGuides = true, ReturnRoutes = true, } }, }; //与服务器交互 try { FindTSPPathsService findTSPPathsService = new FindTSPPathsService(url); var result = await findTSPPathsService.ProcessAsync(paramPoint2D); //路径样式 PredefinedLineStyle simpleLineStyle = new PredefinedLineStyle(); simpleLineStyle.Stroke = new SolidColorBrush(Colors.Blue); simpleLineStyle.StrokeThickness = 2; if (result != null && result.TSPPathList != null) { foreach (ServerPath p in result.TSPPathList) { //将要素添加到图层上 featuresLayer.Features.Add(new Feature { Geometry = p.Route.Line, Style = simpleLineStyle }); } } } //服务器计算失败提示失败信息 catch (Exception ex) { MessageBox.Show(ex.Message); } }
private void TSPPaths_Click(object sender, RoutedEventArgs e) { FindTSPPathsParameters<int> param = new FindTSPPathsParameters<int> { Nodes = new List<int> { 2, 3 }, EndNodeAssigned = true, 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" } }; FindTSPPathsService tSPPathsService = new FindTSPPathsService(networkUrl); tSPPathsService.ProcessAsync(param); tSPPathsService.Failed += Failed; tSPPathsService.ProcessCompleted += new EventHandler<FindTSPPathsEventArgs>(tSPPathsService_ProcessCompleted); }