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 });
Aangemelde leden kunnen berichten plaatsen, updates volgen en meer. Nieuw hier? Registreer een gratis account.
Find useful guides, FAQs, and documents to help you navigate and make the most of Esri Community.