Skip To Content ArcGIS for Developers Sign In Dashboard

MapGraphicsView Class

(Esri::ArcGISRuntime::MapGraphicsView)

A MapGraphicsView renders data in a map and allows users to interact with the map. More...

Header: #include <MapGraphicsView>
Since: Esri::ArcGISRuntime 100.0
Inherits: QGraphicsView and MapView

Public Functions

MapGraphicsView(QWidget *parent = nullptr)
MapGraphicsView(Map *map, QWidget *parent = nullptr)
~MapGraphicsView()

Signals

void attributionRectChanged()
void attributionTextChanged()
void drawStatusChanged(Esri::ArcGISRuntime::DrawStatus status)
void errorOccurred(Esri::ArcGISRuntime::Error error)
void exportImageCompleted(QUuid taskId, QImage image)
void identifyGraphicsOverlayCompleted(QUuid taskId, Esri::ArcGISRuntime::IdentifyGraphicsOverlayResult *identifyResult)
void identifyGraphicsOverlaysCompleted(QUuid taskId, QList<Esri::ArcGISRuntime::IdentifyGraphicsOverlayResult *> identifyResults)
void identifyLayerCompleted(QUuid taskId, Esri::ArcGISRuntime::IdentifyLayerResult *identifyResult)
void identifyLayersCompleted(QUuid taskId, QList<Esri::ArcGISRuntime::IdentifyLayerResult *> identifyResults)
void keyPressed(QKeyEvent &keyEvent)
void keyReleased(QKeyEvent &keyEvent)
void layerViewStateChanged(Esri::ArcGISRuntime::Layer *layer, Esri::ArcGISRuntime::LayerViewState layerViewState)
void mapChanged()
void mapRotationChanged()
void mapScaleChanged()
void mouseClicked(QMouseEvent &mouseEvent)
void mouseDoubleClicked(QMouseEvent &mouseEvent)
void mouseMoved(QMouseEvent &mouseEvent)
void mousePressed(QMouseEvent &mouseEvent)
void mousePressedAndHeld(QMouseEvent &mouseEvent)
void mouseReleased(QMouseEvent &mouseEvent)
void mouseWheelChanged(QWheelEvent &wheelEvent)
void navigatingChanged()
void rectChanged(QRectF rect)
void setBookmarkCompleted(bool succeeded)
void setViewpointCompleted(bool succeeded)
void spatialReferenceChanged()
void touched(QTouchEvent &event)
void viewpointChanged()

Additional Inherited Members

Detailed Description

A MapGraphicsView renders data in a map and allows users to interact with the map.

In an MVC architecture, a MapGraphicsView represents the view and a map represents the model.

A MapGraphicsView implements a map view as a QGraphicsView widget. It is used in user interfaces coded with C++.

Example:

Create a MapGraphicsView and set as central widget:

// create the map view
m_mapView = new MapGraphicsView(this);
// set central widget with the map view on the QMainWindow
setCentralWidget(m_mapView);

See also Map, MapView, and GeoView.

Member Function Documentation

MapGraphicsView::MapGraphicsView(QWidget *parent = nullptr)

Default constructor that takes an optional parent.

MapGraphicsView::MapGraphicsView(Map *map, QWidget *parent = nullptr)

Constructor that takes a map and an optional parent.

MapGraphicsView::~MapGraphicsView()

Destructor.

[signal] void MapGraphicsView::attributionRectChanged()

Emitted when the attribution bounding rectangle changes.

This function was introduced in Esri::ArcGISRuntime 100.1.

[signal] void MapGraphicsView::attributionTextChanged()

Emitted when the attribution text changes.

This function was introduced in Esri::ArcGISRuntime 100.1.

[signal] void MapGraphicsView::drawStatusChanged(Esri::ArcGISRuntime::DrawStatus status)

Signal emitted when the DrawStatus changes.

[signal] void MapGraphicsView::errorOccurred(Esri::ArcGISRuntime::Error error)

Signal emitted when an error occurs.

  • error - Details about the error.

[signal] void MapGraphicsView::exportImageCompleted(QUuid taskId, QImage image)

Signal emitted when exportImage has completed.

[signal] void MapGraphicsView::identifyGraphicsOverlayCompleted(QUuid taskId, Esri::ArcGISRuntime::IdentifyGraphicsOverlayResult *identifyResult)

Emitted when an identifyGraphicsOverlay operation completes.

  • taskId - The task ID for the asynchronous operation.
  • identifyResult - The identify graphics overlay result object.

The returned IdentifyGraphicsOverlayResult object has the MapGraphicsView as its parent.

See also Returned QObjects Parenting.

[signal] void MapGraphicsView::identifyGraphicsOverlaysCompleted(QUuid taskId, QList<Esri::ArcGISRuntime::IdentifyGraphicsOverlayResult *> identifyResults)

Emitted when an identifyGraphicsOverlays operation completes.

The returned IdentifyGraphicsOverlayResult objects have the MapGraphicsView as their parent.

See also Returned QObjects Parenting.

[signal] void MapGraphicsView::identifyLayerCompleted(QUuid taskId, Esri::ArcGISRuntime::IdentifyLayerResult *identifyResult)

Emitted when an identifyLayer operation completes.

  • taskId - The task ID for the asynchronous operation.
  • identifyResult - IdentifyLayerResult object containing a list of GeoElements.

The returned IdentifyLayerResult object has the MapGraphicsView as its parent.

See also Returned QObjects Parenting.

[signal] void MapGraphicsView::identifyLayersCompleted(QUuid taskId, QList<Esri::ArcGISRuntime::IdentifyLayerResult *> identifyResults)

Emitted when an identifyLayers operation completes.

  • taskId - The task ID for the asynchronous operation.
  • identifyResults - A list of IdentifyLayerResult.

The returned IdentifyLayerResult objects have the MapGraphicsView as their parent.

See also Returned QObjects Parenting.

[signal] void MapGraphicsView::keyPressed(QKeyEvent &keyEvent)

Emitted when a key press has been detected.

  • keyEvent - The key event.

[signal] void MapGraphicsView::keyReleased(QKeyEvent &keyEvent)

Emitted when a key release has been detected.

  • keyEvent - The key event.

[signal] void MapGraphicsView::layerViewStateChanged(Esri::ArcGISRuntime::Layer *layer, Esri::ArcGISRuntime::LayerViewState layerViewState)

Signal emitted when the LayerViewState changes.

  • layer - The layer that had a state change.
  • layerViewState - The LayerViewState with the new state information.

The returned Layer object has the MapGraphicsView as its parent.

See also Returned QObjects Parenting.

[signal] void MapGraphicsView::mapChanged()

Emitted when the map changes.

This function was introduced in Esri::ArcGISRuntime 100.3.

[signal] void MapGraphicsView::mapRotationChanged()

Signal emitted when the mapRotation changes.

[signal] void MapGraphicsView::mapScaleChanged()

Signal emitted when the mapScale changes.

[signal] void MapGraphicsView::mouseClicked(QMouseEvent &mouseEvent)

Emitted when mouse is pressed and released over the same location.

  • mouseEvent - The mouse event.

[signal] void MapGraphicsView::mouseDoubleClicked(QMouseEvent &mouseEvent)

Emitted when a double click even is detected.

  • mouseEvent - The mouse event.

[signal] void MapGraphicsView::mouseMoved(QMouseEvent &mouseEvent)

Emitted when mouse is moved.

  • mouseEvent - The mouse event.

[signal] void MapGraphicsView::mousePressed(QMouseEvent &mouseEvent)

Emitted when mouse is pressed.

  • mouseEvent - The mouse event.

[signal] void MapGraphicsView::mousePressedAndHeld(QMouseEvent &mouseEvent)

Emitted when there is a long press and hold (currently 800ms) on the same point.

  • mouseEvent - The mouse event.

[signal] void MapGraphicsView::mouseReleased(QMouseEvent &mouseEvent)

Emitted when mouse is release.

  • mouseEvent - The mouse event.

[signal] void MapGraphicsView::mouseWheelChanged(QWheelEvent &wheelEvent)

Emitted when mouse wheel movement has been detected.

  • wheelEvent - The wheel event.

Signal emitted when the view has started or completed navigating.

[signal] void MapGraphicsView::rectChanged(QRectF rect)

Emitted when the visible area changes.

  • rect - The new rect representing the visible area.

[signal] void MapGraphicsView::setBookmarkCompleted(bool succeeded)

Signal emitted when a bookmark has been set.

  • succeeded - Whether the bookmark was successfully set.

This function was introduced in Esri::ArcGISRuntime 100.3.

[signal] void MapGraphicsView::setViewpointCompleted(bool succeeded)

Signal emitted when the viewpoint has been set.

  • succeeded - Whether the viewpoint was successfully set.

[signal] void MapGraphicsView::spatialReferenceChanged()

Signal emitted when the SpatialReference changed.

[signal] void MapGraphicsView::touched(QTouchEvent &event)

Emitted when a touch event has been detected.

Accept the event to prevent the MapGraphicsView from performing its default gesture interaction behavior.

  • event - The touch event.

[signal] void MapGraphicsView::viewpointChanged()

Emitted when the viewpoint changes.


Feedback on this topic?