MapQuickView Class

  • MapQuickView
  • class Esri::ArcGISRuntime::MapQuickView

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

    Header: #include <MapQuickView.h>
    Since: Esri::ArcGISRuntime 100.0
    Inherits: QQuickFramebufferObject and Esri::ArcGISRuntime::MapView

    This class was introduced in Esri::ArcGISRuntime 100.0.

    Properties

    Public Functions

    MapQuickView(Esri::ArcGISRuntime::Map *map, QQuickItem *parent = nullptr)
    MapQuickView(QQuickItem *parent = nullptr)
    virtual ~MapQuickView() override
    QVariant attributionTop() const

    Signals

    void attributionRectChanged()
    void attributionTextChanged()
    void attributionTopChanged()
    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()

    Detailed Description

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

    A MapQuickView implements a map view as a QQuickItem component. This allows it to be used in a user interface coded in QML while being controlled by C++ code.

    Example:

    Register the MapQuickView type as a QML type:

    qmlRegisterType<MapQuickView>("Esri.Samples", 1, 0, "MapView");

    Declare the MapView in QML, and assign an object name:

    MapView {
        anchors.fill: parent
        objectName: "mapView"
    
        Component.onCompleted: {
            // Set the focus on MapView to initially enable keyboard navigation
            forceActiveFocus();
        }
    }

    Obtain the MapView from C++ and set a Map to the MapView:

    // find QML MapView component
    m_mapView = findChild<MapQuickView*>("mapView");
    
    // create a new basemap instance
    Basemap* basemap = new Basemap(BasemapStyle::ArcGISImagery, this);
    // create a new map instance
    m_map = new Map(basemap, this);
    // set map on the map view
    m_mapView->setMap(m_map);

    See also Map, MapView, and GeoView.

    Property Documentation

    attributionRect : const QRectF

    This property holds the bounding rectangle of the attribution text (read-only).

    This bounding rectangle can be used when calculating where items can be displayed on the screen so they are not overlapping the attribution text.

    This property was introduced in Esri::ArcGISRuntime 100.3.

    Notifier signal:

    calloutData : Esri::ArcGISRuntime::CalloutData* const

    Gets the callout data from the map view.

    This property was introduced in Esri::ArcGISRuntime 100.8.

    Member Function Documentation

    MapQuickView::MapQuickView(Esri::ArcGISRuntime::Map *map, QQuickItem *parent = nullptr)

    Constructor that takes a map and an optional parent.

    MapQuickView::MapQuickView(QQuickItem *parent = nullptr)

    Default constructor that takes an optional parent.

    [signal] void MapQuickView::attributionRectChanged()

    Emitted when the attribution bounding rectangle changes.

    Note: Notifier signal for property attributionRect.

    This function was introduced in Esri::ArcGISRuntime 100.1.

    [signal] void MapQuickView::attributionTextChanged()

    Emitted when the attribution text changes.

    This function was introduced in Esri::ArcGISRuntime 100.1.

    [signal] void MapQuickView::attributionTopChanged()

    Emitted when the attributionTop anchor line changes.

    Note: Notifier signal for property attributionTop.

    This function was introduced in Esri::ArcGISRuntime 100.1.

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

    Signal emitted when the DrawStatus changes.

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

    Signal emitted when an error occurs.

    • error - Details about the error.

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

    Signal emitted when exportImage has completed.

    [signal] void MapQuickView::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 MapQuickView as its parent.

    See also Returned QObjects Parenting.

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

    Emitted when an identifyGraphicsOverlays operation completes.

    The returned IdentifyGraphicsOverlayResult objects have the MapQuickView as their parent.

    See also Returned QObjects Parenting.

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

    Emitted when an identifyLayer operation completes.

    • taskId - The task ID for the asynchronous operation.
    • identifyResult - An IdentifyLayerResult object.

    The returned IdentifyLayerResult object has the MapQuickView as its parent.

    See also Returned QObjects Parenting.

    [signal] void MapQuickView::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 MapQuickView as their parent.

    See also Returned QObjects Parenting.

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

    Emitted when a key pressed has been detected.

    • keyEvent - The key event.

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

    Emitted when a key release has been detected.

    • keyEvent - The key event.

    [signal] void MapQuickView::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 MapQuickView as its parent.

    See also Returned QObjects Parenting.

    [signal] void MapQuickView::mapChanged()

    Emitted when the map changes.

    This function was introduced in Esri::ArcGISRuntime 100.3.

    [signal] void MapQuickView::mapRotationChanged()

    Signal emitted when the mapRotation changes.

    [signal] void MapQuickView::mapScaleChanged()

    Signal emitted when the mapScale changes.

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

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

    • mouseEvent - The mouse event.

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

    Emitted when a double click even is detected.

    • mouseEvent - The mouse event.

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

    Emitted when mouse is moved.

    • mouseEvent - The mouse event.

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

    Emitted when mouse is pressed.

    • mouseEvent - The mouse event.

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

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

    • mouseEvent - The mouse event.

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

    Emitted when mouse is release.

    • mouseEvent - The mouse event.

    [signal] void MapQuickView::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 MapQuickView::rectChanged(QRectF rect)

    Emitted when the visible area changes.

    • rect - The new rect representing the visible area.

    [signal] void MapQuickView::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 MapQuickView::setViewpointCompleted(bool succeeded)

    Signal emitted when the viewpoint has been set.

    • succeeded - Whether the viewpoint was successfully set.

    [signal] void MapQuickView::spatialReferenceChanged()

    Signal emitted when the SpatialReference changed.

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

    Emitted when a touch event has been detected.

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

    • event - The touch event.

    [signal] void MapQuickView::viewpointChanged()

    Emitted when the viewpoint changes.

    [override virtual] MapQuickView::~MapQuickView()

    Destructor.

    QVariant MapQuickView::attributionTop() const

    Gets the top anchor line of the attribution bounding rectangle as an AnchorLine variant.

    Other QtQuick items can be anchored to this property so that they display above the attribution text.

    Note: Getter function for property attributionTop.

    This function was introduced in Esri::ArcGISRuntime 100.1.

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