微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

查询

     public static List<String> listUrl = new List<string>();
        int intUrlCount;

        private void Query_Click(object sender,RoutedEventArgs e)
        {
            listUrl.Add("http://sampleserver1.arcgisonline.com/ArcGIS/rest/services/Specialty/ESRI_StatesCitiesRivers_USA/MapServer/0");
            listUrl.Add("http://sampleserver1.arcgisonline.com/ArcGIS/rest/services/Specialty/ESRI_StatesCitiesRivers_USA/MapServer/1");
            listUrl.Add("http://sampleserver1.arcgisonline.com/ArcGIS/rest/services/Specialty/ESRI_StatesCitiesRivers_USA/MapServer/2");

            intUrlCount = listUrl.Count;
            Graphicslayer graphicslayer = MyMap.Layers["MyGraphicslayer"] as Graphicslayer;
            graphicslayer.Graphics.Clear();
            TabControl.Visibility = Visibility.Visible;

            if (intUrlCount != 0)
            {
                for (int i = 0; i < intUrlCount; i++)
                {
                    string url = listUrl[i];

                    QueryTask queryTask = new QueryTask(url);
                    //queryTask.ExecuteCompleted += QueryTask_AllExecuteCompleted;
                    queryTask.ExecuteCompleted+=QueryTask_ExecuteCompleted;

                    ESRI.ArcGIS.Client.Tasks.Query query = new ESRI.ArcGIS.Client.Tasks.Query();
                    query.Text = texBoxname.Text;

                    query.ReturnGeometry = true;
                    query.OutSpatialReference = MyMap.SpatialReference;
                    query.OutFields.Add("*");
                    queryTask.ExecuteAsync(query);
                }
            }
        }

        void QueryTask_ExecuteCompleted(object sender,ESRI.ArcGIS.Client.Tasks.QueryEventArgs args)
        {
            FeatureSet featureSet = args.FeatureSet;
            s = args.FeatureSet;
            List<string> a =new List<string>(); 
              for (int i=0;i<featureSet.Features.Count ;i++)  
            {
                a.Add(featureSet.Features[i].Attributes["NAME"].ToString());
            }
            if (featureSet != null && featureSet.Features.Count > 0)
                dataG.ItemsSource = featureSet.Features;
          
            else
                MessageBox.Show("No features returned from query");
        }

        private void QueryTask_AllExecuteCompleted(object sender,ESRI.ArcGIS.Client.Tasks.QueryEventArgs args)
        {

            QueryTask objQueryTask = sender as QueryTask;
            //queryTask.ExecuteCompleted -= QueryTask_AllExecuteCompleted;
            intUrlCount--;
            FeatureSet pFeatureSet = objQueryTask.LastResult;
            FeatureSet objFeatureSet = args.FeatureSet;
            s = args.FeatureSet;
            if (pFeatureSet.Features.Count == 0)
            {
                if (intUrlCount == 0 && objFeatureSet.Features.Count == 0)
                {
                    MessageBox.Show("没有查询到数据!");
                }

                return;
            }
           
            //Graphicslayer pGraphicslayer = MyMap.Layers["MyGraphicslayer"] as Graphicslayer;

            //if (objFeatureSet != null && objFeatureSet.Features.Count > 0)
            //{
            //    pGraphicslayer.Graphics.Clear();

            //    foreach (Graphic pFeature in objFeatureSet.Features)
            //    {
            //      //  pFeature.MapTip = CreatVehicleHistoryTips(pFeature.Attributes["OBJCODE"].ToString(),pFeature.Attributes["OBJNAME"].ToString(),pFeature.Attributes["DEPTNAME1"].ToString(),pFeature.Attributes["DEPTNAME2"].ToString(),pFeature.Attributes["DEPTNAME3"].ToString(),pFeature.Attributes["PICTURE"].ToString(),pFeature.Attributes["OBJDESC"].ToString(),pFeature.Attributes["MATERIAL"].ToString());
            //        if ((pFeature.Geometry is ESRI.ArcGIS.Client.Geometry.polygon) || (pFeature.Geometry is ESRI.ArcGIS.Client.Geometry.polyline) || (pFeature.Geometry is ESRI.ArcGIS.Client.Geometry.MultiPoint))
            //        {
            //            pFeature.Symbol = LayoutRoot.Resources["DefaultFillSymbol"] as FillSymbol;
            //            pGraphicslayer.Graphics.Insert(0,pFeature);
            //        }
            //    }

            //    foreach (Graphic pFeature in objFeatureSet.Features)
            //    {
            //      //  pFeature.MapTip = CreatVehicleHistoryTips(pFeature.Attributes["OBJCODE"].ToString(),pFeature.Attributes["MATERIAL"].ToString());
            //        if ((pFeature.Geometry is ESRI.ArcGIS.Client.Geometry.MapPoint))
            //        {
            //            pFeature.Symbol = LayoutRoot.Resources["DefaultFillSymbol"] as FillSymbol;
            //            pGraphicslayer.Graphics.Insert(0,pFeature);
            //        }
            //    }
            //   // Resultsdisplay.Visibility = Visibility.Visible;
            //}



            this.dataG.ItemsSource = null;
            this.dataG.UpdateLayout();
            this.dataG.ItemsSource = objFeatureSet.Features;

        }




        private void FindDetails_SelectionChanged(object sender,SelectionChangedEventArgs e)
        {
            // Highlight the graphic feature associated with the selected row
            DataGrid dataGrid = sender as DataGrid;

            int selectedindex = dataGrid.Selectedindex;
            if (selectedindex > -1)
            {
                FeatureSet featureSet = s;
                Graphicslayer pGraphicslayer = MyMap.Layers["MyGraphicslayer"] as Graphicslayer;

                if (featureSet != null && featureSet.Features.Count > 0)
                {
                    pGraphicslayer.Graphics.Clear();

                    Graphic pFeature = featureSet.Features[selectedindex];

                    //  pFeature.MapTip = CreatVehicleHistoryTips(pFeature.Attributes["OBJCODE"].ToString(),pFeature.Attributes["MATERIAL"].ToString());
                    if ((pFeature.Geometry is ESRI.ArcGIS.Client.Geometry.polygon) || (pFeature.Geometry is ESRI.ArcGIS.Client.Geometry.polyline) || (pFeature.Geometry is ESRI.ArcGIS.Client.Geometry.MultiPoint))
                    {
                        pFeature.Symbol = LayoutRoot.Resources["DefaultFillSymbol"] as FillSymbol;
                        pGraphicslayer.Graphics.Insert(0,pFeature);
                    }



                    //  pFeature.MapTip = CreatVehicleHistoryTips(pFeature.Attributes["OBJCODE"].ToString(),pFeature.Attributes["MATERIAL"].ToString());
                    if ((pFeature.Geometry is ESRI.ArcGIS.Client.Geometry.MapPoint))
                    {
                        pFeature.Symbol = LayoutRoot.Resources["DefaultFillSymbol"] as FillSymbol;
                        pGraphicslayer.Graphics.Insert(0,pFeature);
                    }

                    // Resultsdisplay.Visibility = Visibility.Visible;
                }



            }
        }

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐