MapGraphicsView Class

  • MapGraphicsView
  • class Esri::ArcGISRuntime::MapGraphicsView

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

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

    Public Functions

    MapGraphicsView(QWidget *parent = nullptr)
    MapGraphicsView(Esri::ArcGISRuntime::Map *map, QWidget *parent = nullptr)
    virtual ~MapGraphicsView() override


    void attributionRectChanged()
    void attributionTextChanged()
    void drawStatusChanged(Esri::ArcGISRuntime::DrawStatus status)
    void errorOccurred(const Esri::ArcGISRuntime::Error &error)
    void hoverEntered(QHoverEvent &hoverEvent)
    void hoverLeft(QHoverEvent &hoverEvent)
    void hoverMoved(QHoverEvent &hoverEvent)
    void keyPressed(QKeyEvent &keyEvent)
    void keyReleased(QKeyEvent &keyEvent)
    void layerViewStateChanged(Esri::ArcGISRuntime::Layer *layer, const 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(const QRectF &rect)
    void spatialReferenceChanged()
    void touched(QTouchEvent &event)
    void viewpointChanged()

    Detailed Description

    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++.


    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

    See also Map, MapView, and GeoView.

    Member Function Documentation

    [explicit] MapGraphicsView::MapGraphicsView(QWidget *parent = nullptr)

    Default constructor that takes an optional parent.

    [explicit] MapGraphicsView::MapGraphicsView(Esri::ArcGISRuntime::Map *map, QWidget *parent = nullptr)

    Constructor that takes a map and an optional parent.

    [override virtual] MapGraphicsView::~MapGraphicsView()


    [signal, since Esri::ArcGISRuntime 100.1] void MapGraphicsView::attributionRectChanged()

    Emitted when the attribution bounding rectangle changes.

    This function was introduced in Esri::ArcGISRuntime 100.1.

    [signal, since Esri::ArcGISRuntime 100.1] 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(const Esri::ArcGISRuntime::Error &error)

    Signal emitted when an error occurs.

    • error - Details about the error.

    [signal, since Esri::ArcGISRuntime 200.2] void MapGraphicsView::hoverEntered(QHoverEvent &hoverEvent)

    Emitted when the cursor enters.

    • hoverEvent - The hover event.

    This function was introduced in Esri::ArcGISRuntime 200.2.

    [signal, since Esri::ArcGISRuntime 200.2] void MapGraphicsView::hoverLeft(QHoverEvent &hoverEvent)

    Emitted when the cursor leaves.

    • hoverEvent - The hover event.

    This function was introduced in Esri::ArcGISRuntime 200.2.

    [signal, since Esri::ArcGISRuntime 200.2] void MapGraphicsView::hoverMoved(QHoverEvent &hoverEvent)

    Emitted when the cursor moves.

    • hoverEvent - The hover event.

    This function was introduced in Esri::ArcGISRuntime 200.2.

    [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, const 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, since Esri::ArcGISRuntime 100.3] 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.

    Note: mousePressedAndHeld takes precedence. If the press and hold gesture is active, releasing the mouse/finger in the same location will not emit mouseClicked.

    [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(const QRectF &rect)

    Emitted when the visible area changes.

    • rect - The new rect representing the visible area.

    [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.

    Your browser is no longer supported. Please upgrade your browser for the best experience. See our browser deprecation post for more details.