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); } }
について詳しく知る必要があります関連推奨事項:
ArcGIS ソフトウェアまたは Node.js およびその他のインストール パッケージを Win7 および Win8 にインストールするときの 2503 エラーの解決策_MySQL
Baidu マップの効果を実現するための Arcgis for JavaScript に基づく marker_javascript スキル
以上がarcgis を使用してクエリ タスクを実行する方法を説明します。の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。