arcgis führt Abfrageaufgabe (QueryTask) und ExecuteAsync aus? Sie benötigen weitere Informationen zu
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); } }
Verwandte Empfehlungen:
Das obige ist der detaillierte Inhalt vonBringen Sie Ihnen bei, wie Sie Arcgis zum Ausführen von Abfrageaufgaben verwenden. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!