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);
}
}
Copyright © 2019- kushenhuo.cn 版权所有
违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务