Skip To Content ArcGIS for Developers Sign In Dashboard

AnnotationLayer Class

class Esri::ArcGISRuntime::AnnotationLayer

A layer that can visualize annotation text data. More...

Header: #include <AnnotationLayer>
Since: Esri::ArcGISRuntime 100.5
Inherits: Esri::ArcGISRuntime::Layer

This class was introduced in Esri::ArcGISRuntime 100.5.

Public Functions

AnnotationLayer(const QUrl &url, QObject *parent = nullptr)
AnnotationLayer(Esri::ArcGISRuntime::ArcGISFeatureTable *featureTable, QObject *parent = nullptr)
AnnotationLayer(Esri::ArcGISRuntime::Item *item, qint64 serviceLayerId, QObject *parent = nullptr)
virtual ~AnnotationLayer() override
Esri::ArcGISRuntime::ArcGISFeatureTable *featureTable() const
double referenceScale() const
qint64 serviceLayerId() const
QUrl url() const

Detailed Description

Annotation can be used to symbolize text on your maps (in addition to labeling). Annotation is defined by a text string, geographical location, and display properties including font, size, and color. These are stored together in an annotation feature class within a geodatabase.

Functional characteristics

You can create an annotation layer by providing the URL or portal item of an annotation feature class or from a feature table containing annotation. Annotation layers are also supported in mobile map packages created in ArcGIS Pro 2.3 or later. Currently, ArcGIS Runtime supports read-only standard annotation.

An annotation layer may contain annotation sublayers (known as annotation classes in ArcGIS Pro). Annotation sublayers offer finer control over your annotation, allowing the author to set different visual properties from the parent annotation layer. These visual properties include font, size, color, or different minimum and maximum scale ranges. Within ArcGIS Runtime, the annotation sublayer allows you to do the following:

  • Access the annotation sublayer's metadata information, including legend information.
  • Set the visibility of each annotation sublayer.

Performance characteristics

Annotation respects the reference scale defined by the map, so annotation will always be presented to the user at the correct size and position, as defined by the annotation author.

For samples, see Display Annotation and Control annotation sublayer visibility.

See also Layer.

Member Function Documentation

AnnotationLayer::AnnotationLayer(const QUrl &url, QObject *parent = nullptr)

Creates a new annotation layer from a feature service URL.

  • url - the URL to the feature service layer.
  • parent - an optional parent QObject.

AnnotationLayer::AnnotationLayer(Esri::ArcGISRuntime::ArcGISFeatureTable *featureTable, QObject *parent = nullptr)

Creates a new annotation layer from a feature service table.

If the feature table does not contain annotation data then the AnnotationLayer will fail to load. ArcGISFeatureTable::layerInfo and ArcGISFeatureLayerInfo::serviceType can be checked to verify the feature type, before attempting to create a Layer.

This function was introduced in Esri::ArcGISRuntime 100.6.

AnnotationLayer::AnnotationLayer(Esri::ArcGISRuntime::Item *item, qint64 serviceLayerId, QObject *parent = nullptr)

Creates a new annotation layer from a feature service portal item.

  • item - a feature service PortalItem.
  • serviceLayerId - the layer ID for which to create the layer.
  • parent - an optional parent QObject.

[override virtual] AnnotationLayer::~AnnotationLayer()


Esri::ArcGISRuntime::ArcGISFeatureTable *AnnotationLayer::featureTable() const

Returns the feature table associated with this layer.

This function was introduced in Esri::ArcGISRuntime 100.6.

double AnnotationLayer::referenceScale() const

Returns the reference scale for the layer.

The reference scale of the layer is the scale at which a client should view the layer for the text to appear at its authored size.

If the client changes the viewing scale, then text will grow or shrink to keep a consistent size on the map (not the screen).

For a valid layer, the reference scale will always be a finite value, greater than zero. Until the layer is loaded, the reference scale will be zero.

qint64 AnnotationLayer::serviceLayerId() const

Returns the layer ID for the layer.

QUrl AnnotationLayer::url() const

Returns the Feature Service URL for the layer.

Feedback on this topic?