1. 程式人生 > >arcgis 執行查詢任務(QueryTask)還有ExecuteAsync?需進一步瞭解

arcgis 執行查詢任務(QueryTask)還有ExecuteAsync?需進一步瞭解

url = string.Format("http://{0}/arcgis2/rest/services/baidu/MapServer/{1}", ip, layerID);                 QueryTask queryTask = new QueryTask(url);                 queryTask.ExecuteCompleted += new EventHandler<QueryEventArgs>(queryTask_ExecuteCompleted);                 queryTask.Failed += new EventHandler<TaskFailedEventArgs>(queryTask_Failed);                 ESRI.ArcGIS.Client.Tasks.Query query = new ESRI.ArcGIS.Client.Tasks.Query();                 query.OutFields.Add("*");                 query.ReturnGeometry = true;                 query.Where = string.Format("FID={0}", QueryText);                 queryTask.ExecuteAsync(query); private void queryTask_Failed(object sender, TaskFailedEventArgs e)         {             MessageBox.Show("Query failed: " + e.Error);         }         private void queryTask_ExecuteCompleted(object sender, QueryEventArgs e)         {             FeatureSet featureSet = e.FeatureSet;             if (featureSet != null && featureSet.Features.Count > 0)             {                 Graphic selectedFeature = featureSet.Features[0];                 // 放大到選擇的要素                 ESRI.ArcGIS.Client.Geometry.Envelope selectedFeatureExtent = selectedFeature.Geometry.Extent;                 double expandPercentage = 30;                 double widthExpand = 2000 * (expandPercentage / 100);                 double heightExpand = 2000 * (expandPercentage / 100);                 ESRI.ArcGIS.Client.Geometry.Envelope displayExtent = new ESRI.ArcGIS.Client.Geometry.Envelope(                 selectedFeatureExtent.XMin - (widthExpand / 2),                 selectedFeatureExtent.YMin - (heightExpand / 2),                 selectedFeatureExtent.XMax + (widthExpand / 2),                 selectedFeatureExtent.YMax + (heightExpand / 2));                 myMap.ZoomDuration = new TimeSpan(0, 0, 2);                 myMap.ZoomTo(displayExtent);             }         }