Hi ,
We are develope commands for arcgis pro sdk 2.2 version.We have text and polygon geometry inputs. How can we add these (text and polgon) graphically on map without annotation or feature class ? Can do it as Annotation also I can do polygon overlay (using MapView.Active.AddOverlay function) but but I want to create a graph with both polygon and te text like below in picture?How can I solve this problem?
Thaks for Helping
Here is a code snippet to create an overlay with text. This code is from a sample Map Tool:
internal class AddOverlayWithText : MapTool
{
private IDisposable _graphic = null;
private CIMPolygonSymbol _polygonSymbol = null;
public AddOverlayWithText()
{
IsSketchTool = true;
SketchType = SketchGeometryType.Polygon;
SketchOutputMode = SketchOutputMode.Map;
}
protected override async Task<bool> OnSketchCompleteAsync(Geometry geometry)
{
//Add an overlay graphic to the map view
_polygonSymbol = SymbolFactory.Instance.ConstructPolygonSymbol(ColorFactory.Instance.BlackRGB, SimpleFillStyle.Null, SymbolFactory.Instance.ConstructStroke(ColorFactory.Instance.BlackRGB, 2.0, SimpleLineStyle.Solid));
_graphic = await this.AddOverlayAsync(geometry, _polygonSymbol.MakeSymbolReference());
//define the text symbol
var textSymbol = new CIMTextSymbol();
//define the text graphic
var textGraphic = new CIMTextGraphic();
await QueuedTask.Run(() =>
{
//Create a simple text symbol
textSymbol = SymbolFactory.Instance.ConstructTextSymbol(ColorFactory.Instance.BlackRGB, 8.5, "Corbel", "Regular");
//Sets the geometry of the text graphic
textGraphic.Shape = geometry;
//Sets the text string to use in the text graphic
textGraphic.Text = "This is my polygon";
//Sets symbol to use to draw the text graphic
textGraphic.Symbol = textSymbol.MakeSymbolReference();
//Draw the overlay text graphic
_graphic = this.ActiveMapView.AddOverlay(textGraphic);
});
return true;
}
}
This code creates an overlay like this:
Thanks for halping Uma,
I had a final question about graphic overlay. Are there any graphic Layer (Graphic Container) for adding overlay in Arcgis pro SDK? Can we find graphic overlay after save and close/open pro document (.aprx file) ? Can we use it like graphic Element in ArcObject (Finds element from GraphicContainer and use it) or are there any solution to save overlay as graphic?
Thaks for helping.
Hi Taner
No, the graphics are not persisted.
Thanks
Uma
Hi Umma,
I can display mentioned above graphics on layout but I can not share (export pdf, jpg.etc) ?How can we solve this problem because our customers also want to see these graphics (export pdf., jpg. etc. files).
Here are above pictures.
Layout picture:
Export pdf file picture:
Thanks for helping.
@UmaHarano Do you have to create a drawn polygon for this to work? Is there anyway to just add it automatically without the sketch part?
Hi,
ArcGIS Pro now supports GraphicsLayers. So graphics such as this can be drawn using GraphicsLayer and GraphicElements. GraphicElements can be created with or without sketch tools.
Here are some wiki pages that help shed light on this:
Thanks
Uma