AddOverlayAsync(Geometry,CIMSymbolReference,Double,Double) Method
Parameters
- geometry
- The geometry of the overlay.
- symbol
- The symbol to use for the overlay.
- referenceScale
- Map reference scale or -1
- showThrough
- Visibility factor for showing the overlay through other objects when obscured in 3D.
Valid range is [0..1], any other value will be treated as 0 (not visible).
Return Value
An object that when disposed will remove the overlay.
Add overlay graphic with text
internal class AddOverlayWithText : MapTool
{
private IDisposable _graphic = null;
private CIMLineSymbol _lineSymbol = null;
public AddOverlayWithText()
{
IsSketchTool = true;
SketchType = SketchGeometryType.Line;
SketchOutputMode = SketchOutputMode.Map;
}
protected override async Task<bool> OnSketchCompleteAsync(Geometry geometry)
{
//Add an overlay graphic to the map view
_graphic = await this.AddOverlayAsync(geometry, _lineSymbol.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 line";
//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;
}
}
Target Platforms: Windows 11, Windows 10
ArcGIS Pro version: 3 or higher.