Skip To Content ArcGIS for Developers Sign In Dashboard

MarkerSymbolLayer Class

(Esri::ArcGISRuntime::MarkerSymbolLayer)

A base class for marker symbol layers, representing a symbol layer used to display a marker. More...

Header: #include <MarkerSymbolLayer>
Since: Esri::ArcGISRuntime 100.5
Inherits: SymbolLayer
Inherited By:

Esri::ArcGISRuntime::PictureMarkerSymbolLayer and Esri::ArcGISRuntime::VectorMarkerSymbolLayer

Public Functions

~MarkerSymbolLayer()
SymbolAnchor anchor() const
double heading() const
double offsetX() const
double offsetY() const
void setAnchor(const SymbolAnchor &symbolAnchor)
void setHeading(double heading)
void setOffsetX(double offsetX)
void setOffsetY(double offsetY)
void setSize(double size)
double size() const

Additional Inherited Members

Detailed Description

A base class for marker symbol layers, representing a symbol layer used to display a marker.

The MarkerSymbolLayer has methods affecting both 2D and 3D markers. Some properties apply only to 3D markers, such as angleX, or offsetZ. These properties have no effect on markers in 2D. Properties on 2D markers, such as offsetX, affect the marker's position in screen space, not world space. This means that the x-axis for a 2D marker runs from negative-x on the West edge of the screen to positive-x on the East edge of the screen. Negative-y to positive-y runs from the South edge of the screen to the North edge of the screen.

Properties that apply only to 3D markers affect the marker's position in world space, rather than screen space. This means that the x, y, and z-axes to which the class methods are the axes of the world, with the following layout: from negative to positive, the x-axis spans from world West to world East, the y-axis from world South to world North, and the z-axis from directly into the surface to the sky.

Member Function Documentation

MarkerSymbolLayer::~MarkerSymbolLayer()

Destructor.

SymbolAnchor MarkerSymbolLayer::anchor() const

Returns the anchor object of a marker symbol layer.

The SymbolAnchor determines how the MarkerSymbolLayer is anchored. SymbolAnchor specifies the marker's anchor point and anchor placement mode. The default symbol anchor is at XYZ(0, 0, 0) and uses 'relative' mode.

See also setAnchor() and SymbolAnchor.

double MarkerSymbolLayer::heading() const

Returns the marker symbol layer's heading: the angle of rotation about the anchor point, in degrees.

See also setHeading.

double MarkerSymbolLayer::offsetX() const

Returns the x component of the marker symbol layer offset, in DIPs.

The return value may be any real number (default is 0). This property affects markers in both Maps and Scenes.

See also setOffsetX().

double MarkerSymbolLayer::offsetY() const

Returns the y component of the marker symbol layer offset, in DIPs.

The return value may be any real number (default is 0). This property affects markers in both Maps and Scenes.

See also setOffsetY().

void MarkerSymbolLayer::setAnchor(const SymbolAnchor &symbolAnchor)

Sets the anchor object of a marker symbol layer to symbolAnchor.

The SymbolAnchor determines how the MarkerSymbolLayer is anchored. SymbolAnchor specifies the marker's anchor point and anchor placement mode. The default symbol anchor is at XYZ(0, 0, 0) and uses 'relative' mode.

See also anchor() and SymbolAnchor.

void MarkerSymbolLayer::setHeading(double heading)

Sets the marker symbol layer's heading: the angle of rotation about the anchor point to in degrees.

The input value can be any real number. The default value is 0. This property affects markers in both Maps and Scenes. Positive angles rotate the marker counterclockwise. In 2D, the rotation applies around the anchor point of the 2D marker. For 3D markers, the rotation applies around the z-axis.

Angle for multilayer point symbols and marker symbol layers is measured in degrees counterclockwise from the east, from 0 to 360. The angle for a multilayer point symbol defaults to 0. Marker symbol layers can have their own angle value defined (which is also 0 by default). Setting an angle for a marker symbol layer does not affect the angle of the point symbol. When an angle value is set for the point symbol, however, that value is applied cumulatively to all the marker symbol layers it contains. Clients use the angle provided for the symbol layers when rendering the multilayer symbol.

See also heading().

void MarkerSymbolLayer::setOffsetX(double offsetX)

Sets the x component of the marker symbol layer offset to offsetX, in DIPs.

The input value can be any real number. The default value is 0. This property affects markers in both Maps and Scenes. The x-offset is a delta applied to the marker in the direction corresponding to the given value. For example, a positive x-offset moves the marker in the positive-x direction.

See also offsetX().

void MarkerSymbolLayer::setOffsetY(double offsetY)

Sets the y component of the marker symbol layer offset to offsetY, in DIPs.

The input value can be any real number. The default value is 0. This property affects markers in both Maps and Scenes. The y-offset is a delta applied to the marker in the direction corresponding to the given value. For example, a positive y-offset moves the marker in the positive-y direction.

See also offsetY().

void MarkerSymbolLayer::setSize(double size)

Sets the size of the marker symbol layer to size, in DIPs.

The input value can be any positive number. The default value is 13.333 DIPs (10 points). A larger size means a larger marker.

When getting the size from a multilayer point symbol, the value reported is the largest size of all the symbol layers it contains. The symbol size is updated when its symbol layer sizes change (if there is a new largest layer size). When setting a new size at the point symbol level, the size of the largest symbol layer is given the provided value, and all the smaller layers are sized proportionately. An individual symbol layer can be given a specific size without affecting the other layers.

See also size().

double MarkerSymbolLayer::size() const

Returns the size of the marker symbol layer, in DIPs.

The return value may be any real number. The default value is 13.333 DIPs (10 points).

See also setSize.


Feedback on this topic?