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);
}
}相关推荐:
Win7,Win8安装ArcGIS软件或Node.js等安装包出现2503错误的解决_MySQL
基于Arcgis for javascript实现百度地图ABCD marker的效果_javascript技巧
以上就是教你如何使用arcgis 执行查询任务的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号