Skip To Content ArcGIS for Developers Sign In Dashboard

Graphic Class

(Esri::ArcGISRuntime::Graphic)

A visual element displayed in a GraphicsOverlay More...

Header: #include <Graphic>
Since: Esri::ArcGISRuntime 100.0
Inherits: Object and GeoElement

Public Functions

Graphic(QObject *parent = nullptr)
Graphic(const QVariantMap &attributes, QObject *parent = nullptr)
Graphic(const Geometry &geometry, QObject *parent = nullptr)
Graphic(const Geometry &geometry, const QVariantMap &attributes, QObject *parent = nullptr)
Graphic(const Geometry &geometry, Symbol *symbol, QObject *parent = nullptr)
Graphic(const Geometry &geometry, const QVariantMap &attributes, Symbol *symbol, QObject *parent = nullptr)
~Graphic()
GraphicsOverlay *graphicsOverlay() const
bool isSelected() const
bool isVisible() const
void setSelected(bool value)
void setSymbol(Symbol *symbol)
void setVisible(bool value)
void setZIndex(int value)
Symbol *symbol() const
int zIndex() const
bool operator==(Graphic *other) const

Reimplemented Public Functions

virtual AttributeListModel *attributes() const
virtual Geometry geometry() const
virtual void setGeometry(const Geometry &geometry)

Signals

Additional Inherited Members

  • 1 property inherited from QObject
  • 1 public slot inherited from QObject
  • 1 public variable inherited from QObject
  • 10 static public members inherited from QObject
  • 9 protected functions inherited from QObject
  • 2 protected variables inherited from QObject

Detailed Description

A visual element displayed in a GraphicsOverlay

Graphics are displayed on the map through a graphics overlay. Common uses of graphics include providing input to a task, displaying output from a task, and marking a location based on user interaction with the map.

Each graphic must contain a geometry describing the location and the shape of the graphic. The geometry preferably should be in the same spatial reference as the map, otherwise it will be reprojected on-the-fly (computationally expensive for a large number of graphics).

A graphic can be associated with a symbol which determines how the graphic looks. Alternatively, the graphics overlay can be assigned a renderer which determines the appearance of all graphics in the overlay. If the graphic has an associated symbol, that symbol will override the renderer when displaying that graphic. The symbol used depends on the geometry type associated with the graphic. A MarkerSymbol is used for point and multipoint geometries, a LineSymbol for polyline geometries, and a FillSymbol for polygon geometries.

A graphic can contain a list model of attributes (key-value pairs) providing more information about the graphic.

Example:

Create a graphic based on a point:

Point point(-117, 34);
SimpleMarkerSymbol* simpleMarker = new SimpleMarkerSymbol(SimpleMarkerSymbolStyle::Circle, QColor(Qt::black), 12.0, this);
QVariantMap attr;
attr["region"] = "Southern California";
Graphic* graphic = new Graphic(point, attr, simpleMarker, this);

See also GraphicsOverlay.

Member Function Documentation

Graphic::Graphic(QObject *parent = nullptr)

Default constructor that takes an optional parent.

Graphic::Graphic(const QVariantMap &attributes, QObject *parent = nullptr)

Constructor that takes attributes and an optional parent.

Graphic::Graphic(const Geometry &geometry, QObject *parent = nullptr)

Constructor that takes a geometry and an optional parent.

Graphic::Graphic(const Geometry &geometry, const QVariantMap &attributes, QObject *parent = nullptr)

Constructor that takes a geometry, attributes and an optional parent.

Graphic::Graphic(const Geometry &geometry, Symbol *symbol, QObject *parent = nullptr)

Constructor that takes a geometry, a symbol and an optional parent.

Graphic::Graphic(const Geometry &geometry, const QVariantMap &attributes, Symbol *symbol, QObject *parent = nullptr)

Constructor that takes a geometry, attributes, a symbol and an optional parent.

Graphic::~Graphic()

Destructor.

[virtual] AttributeListModel *Graphic::attributes() const

Reimplemented from GeoElement::attributes().

Gets the attributes of the graphic as a list model of key-value pairs.

[virtual] Geometry Graphic::geometry() const

Reimplemented from GeoElement::geometry().

Gets the geometry of this graphic.

See also setGeometry().

[signal] void Graphic::geometryChanged()

Signal emitted when the geometry is changed.

This function was introduced in Esri::ArcGISRuntime 100.2.1.

See also GeoElement.

GraphicsOverlay *Graphic::graphicsOverlay() const

Gets the graphics overlay containing this graphic, if any.

bool Graphic::isSelected() const

Gets whether the graphic is selected.

Returns true if the graphic is selected.

bool Graphic::isVisible() const

Gets whether the graphic is visible.

Returns true if the graphic is visible.

[virtual] void Graphic::setGeometry(const Geometry &geometry)

Reimplemented from GeoElement::setGeometry().

Sets the geometry of the graphic to geometry.

See also geometry().

void Graphic::setSelected(bool value)

Sets the graphic's selected state to value.

See also isSelected().

void Graphic::setSymbol(Symbol *symbol)

Sets the symbol of the graphic to symbol.

See also symbol().

void Graphic::setVisible(bool value)

Sets the graphic's visible state to value.

See also isVisible().

void Graphic::setZIndex(int value)

Sets the z index of the graphic to value.

Graphics with higher z-index values are drawn on top of graphics with lower values. Values may be negative.

See also zIndex().

Symbol *Graphic::symbol() const

Gets the symbol of the graphic.

See also setSymbol().

int Graphic::zIndex() const

Gets the z index of the graphic.

See also setZIndex.

bool Graphic::operator==(Graphic *other) const

Equivalency operator.

Graphics are only equal if they are the same instance. Different graphic instances with identical attributes will not compare equal.

Returns true if this and other are the same graphic.


Feedback on this topic?