Select to view content in your preferred language

ArcGIS Runtime Toolkit for Qt v100.13 is live!

592
0
12-16-2021 08:33 AM
Labels (1)
by Anonymous User
Not applicable
2 0 592

Alongside the release of the Qt ArcGIS Runtime 100.13.0 SDK, I am excited to announce an update to our Qt open-source toolkit.

Many new features and bugfixes have their way into this release. There is more here than can neatly fit into a blog, so take a look at the CHANGELOG.md for full details!

SearchView

Using the LocatorTask API built into ArcGISRuntime we have created an out-of-the-box solution for geocoding. This SearchView tool is very easy to set up, and is highly configurable.

 

The code to add SearchView to your QML Quick application would look like so:

 

 

MapView {
    id: view
    Map {
        initBasemapStyle: Enums.BasemapStyleArcGISDarkGray
    }
    SearchView {
        geoView: view
        anchors {
            top: parent.top
            right: parent.right
            margins: 10
        }
    }
}

 

 

SearchView is available in QML and Qt Quick C++.

BasemapGallery for Widgets

Last release we introduced the BasemapGallery tool for QML Quick and C++ Quick. I am thrilled to say that this release we have introduced BasemapGallery for Widgets.

BasemapGallery is a tool which allows the user to apply a basemap to the map from a list of available basemaps.

 

The BasemapGallery tool is easy to integrate and customize. In the following code snippet the developer adds a basemap gallery to their application, and taking the first available basemap from the gallery then applies this to their Map.

 

 

Toolkit_widgets::Toolkit_widgets(QWidget* parent /*=nullptr*/) :
  QMainWindow(parent)
{
  // Create the Widget view underneath everything
  m_mapView = new MapGraphicsView(this);

  auto basemapGallery = new BasemapGallery(nullptr);

  connect(basemapGallery->controller()->portal(), &Portal::developerBasemapsChanged, this, [this, basemapGallery]()
          {
            // Take the first basemap loaded from the portal stored in the basemapGallery
            Basemap* b = basemapGallery->controller()->portal()->developerBasemaps()->at(0);
            if (!b)
              return;
            m_map = new Map(b, this);
            basemapGallery->setGeoModel(m_map);

            // can also set the basemap on the scene, so it is possible to use the proxy item
            QGraphicsProxyWidget* proxy = m_mapView->scene()->addWidget(basemapGallery);
            proxy->setPos(10, 10);
            m_mapView->setMap(m_map);
            setCentralWidget(m_mapView);
          });
}

 

 

UI Tools Example Apps

I am very excited to introduce the QML Quick and C++ Quick example apps - this has been on our wishlist for a long time. With these you can easily try out our tools, and you now have integration examples available for building these tools into your own apps!

 

 

Calcite QML Style

You may have noticed that our examples apps have a special style applied to them - this is the new Calcite style for QML, based on Esri's Calcite for Javascript. We provide this style for developers that want their apps to have a familiar look and feel to the rest of the Esri ecosystem.

light_mode.png

 

We hope you enjoy the new release! Let us know what you're building with it.