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);
        }