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

In This Topic
    AddOverlayAsync(Geometry,CIMSymbolReference,Double,Double) Method
    In This Topic
    Add an overlay graphic to the map view.
    Syntax
    Protected Overloads Function AddOverlayAsync( _
       ByVal geometry As Geometry, _
       ByVal symbol As CIMSymbolReference, _
       ByVal referenceScale As Double, _
       ByVal showThrough As Double _
    ) As Task(Of IDisposable)

    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