查询

来源:互联网 发布:淘宝闲鱼电脑端已打样 编辑:程序博客网 时间:2024/04/28 15:28
     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["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.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["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);                    }                    //  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.MapPoint))                    {                        pFeature.Symbol = LayoutRoot.Resources["DefaultFillSymbol"] as FillSymbol;                        pGraphicsLayer.Graphics.Insert(0, pFeature);                    }                    // ResultsDisplay.Visibility = Visibility.Visible;                }            }        }

0 0
原创粉丝点击