#region Attribute Query private void ExcuteAPNQuery_Click(object sender, RoutedEventArgs e) { GraphicsLayer selectionGraphicslayer = Map.Layers["MySelectionGraphicsLayer"] as GraphicsLayer; selectionGraphicslayer.ClearGraphics(); QueryTask queryTask = new QueryTask("http://dgpdch01/ArcGIS/rest/services/Parcels/MapServer/0"); queryTask.ExecuteCompleted += AQueryTask_ExecuteCompleted; queryTask.Failed += AQueryTask_Failed; Query query = new ESRI.ArcGIS.Client.Tasks.Query(); query.Where = string.Format("APN = '{0}'", FindAPN.Text); query.OutFields.Add("*"); query.Text = FindAPN.Text; _queryTask.ExecuteAsync(query); } private void AQueryTask_ExecuteCompleted(object sender, ESRI.ArcGIS.Client.Tasks.QueryEventArgs args) { // FeatureSet featureSet = args.FeatureSet; // GraphicsLayer graphicsLayer = Map.Layers["MySelectionGraphicsLayer"] as GraphicsLayer; // if (MySelectionGraphicsLayer = null && MySelectionGraphicsLayer.Features.Count > 0) // { // Graphic feature = featureSet.Features[0]; // foreach (Graphic feature in featureSet.Features) { // feature.Symbol = LayoutRoot.Resources["ResultsFillSymbol"] as FillSymbol; // graphicsLayer.Graphics.Insert(0, feature); // Zoom to selected feature (define expand percentage) ESRI.ArcGIS.Client.Geometry.Envelope selectedFeatureExtent = Feature.Geometry.Extent; double expandPercentage = 30; double widthExpand = selectedFeatureExtent.Width * (expandPercentage / 100); double heightExpand = selectedFeatureExtent.Height * (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)); Map.ZoomTo(displayExtent); // } ResultsDisplay.Visibility = Visibility.Visible; } _drawSurface.IsEnabled = false; } private void AQueryTask_Failed(object sender, TaskFailedEventArgs args) { MessageBox.Show("Query failed: " + args.Error); }
but I'm having trouble with the zoom to selected feature functionality.
ESRI.ArcGIS.Client.Geometry.Envelope selectedFeatureExtent = Feature.Geometry.Extent;