ArcGIS Pro 3.4 API Reference Guide
ArcGIS.Desktop.Mapping Namespace / MapTool Class / AddOverlayAsync Method / AddOverlayAsync(Geometry,CIMSymbolReference,Double,Double) Method
The geometry of the overlay.
The symbol to use for the overlay.
Map reference scale or -1
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).
Example Version

AddOverlayAsync(Geometry,CIMSymbolReference,Double,Double) Method
Add an overlay graphic to the map view.
Syntax

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.
Remarks
When the tool is deactivated all overlay graphics will be removed.When the referenceScale is not equal to -1, the overlay will be created in real world units relative to the provided map reference scale (referenceScale). Otherwise, the overlay will be created in units of points. This is only supported in 2D.
Example
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;
  }
}
Requirements

Target Platforms: Windows 11, Windows 10

ArcGIS Pro version: 3 or higher.
See Also