private void QueryDataAfterSelectGraphicLayer(ESRI.ArcGIS.Client.Geometry.Geometry geometry) { QueryTask queryTask = new QueryTask("http://sampleserver1.arcgisonline.com/ArcGIS/rest/services/Specialty/ESRI_StatesCitiesRivers_USA/MapServer/0"); queryTask.Failed += QueryTask_Failed; Binding resultFeaturesBinding = new Binding("LastResult.Features"); resultFeaturesBinding.Source = queryTask; MyDataGridSelection.SetBinding(DataGrid.ItemsSourceProperty, resultFeaturesBinding); Query query = new ESRI.ArcGIS.Client.Tasks.Query(); query.OutFields.Add("*"); query.Geometry = geometry; query.ReturnGeometry = true; query.OutSpatialReference = Map.SpatialReference; queryTask.ExecuteAsync(query); } private void FeatureLayer_MouseLeftButtonDown(object sender, GraphicMouseButtonEventArgs args) { args.Graphic.Selected = !args.Graphic.Selected; Envelope env = new Envelope(); GraphicsLayer selectionGraphicslayer = Map.Layers["MySelectionGraphicsLayer"] as GraphicsLayer; foreach (Graphic item in selectionGraphicslayer.Graphics) { if (item.Selected == true) { ESRI.ArcGIS.Client.Geometry.Geometry geometry = item.Geometry; QueryDataAfterSelectGraphicLayer(geometry); } } }
private Polygon GetMultiRingsPolygon(GraphicsLayer graphicsLayer) { var graphics = graphicsLayer.Graphics.Where(g => g.Geometry is Polygon).ToList(); var geometry = graphics.FirstOrDefault().Geometry as Polygon; foreach (var gra in graphics.Skip(1)) { foreach(var ring in ((Polygon)gra.Geometry).Rings) geometry.Rings.Add(ring); } return geometry; }
I wanted to use the Union method. But is it possible to make this union operation without drawing?
parcelGraphicsLayer.Graphics.Add(new Graphic() { Geometry = e.Result, Symbol = LayoutRoot.Resources["BlueFillSymbol"] as ESRI.ArcGIS.Client.Symbols.Symbol });
Los miembros registrados pueden publicar, seguir actualizaciones y más. ¿Nuevo aquí? Regístrate gratis.
Find useful guides, FAQs, and documents to help you navigate and make the most of Esri Community.