Skip To Content ArcGIS for Developers Sign In Dashboard

WebTiledLayer Class

class Esri::ArcGISRuntime::WebTiledLayer

A layer that requests images from a tiled image server based on a URL template. More...

Header: #include <WebTiledLayer>
Since: Esri::ArcGISRuntime 100.1
Inherits: Esri::ArcGISRuntime::ServiceImageTiledLayer
Inherited By:

Esri::ArcGISRuntime::OpenStreetMapLayer

This class was introduced in Esri::ArcGISRuntime 100.1.

Public Functions

WebTiledLayer(const QString &templateUrl, const QStringList &subDomains, const Esri::ArcGISRuntime::TileInfo &tileInfo, const Esri::ArcGISRuntime::Envelope &fullExtent, Esri::ArcGISRuntime::Credential *credential, QObject *parent = nullptr)
WebTiledLayer(const QString &templateUrl, const QStringList &subDomains, const Esri::ArcGISRuntime::TileInfo &tileInfo, const Esri::ArcGISRuntime::Envelope &fullExtent, QObject *parent = nullptr)
WebTiledLayer(const QString &templateUrl, const Esri::ArcGISRuntime::TileInfo &tileInfo, const Esri::ArcGISRuntime::Envelope &fullExtent, Esri::ArcGISRuntime::Credential *credential, QObject *parent = nullptr)
WebTiledLayer(const QString &templateUrl, const Esri::ArcGISRuntime::TileInfo &tileInfo, const Esri::ArcGISRuntime::Envelope &fullExtent, QObject *parent = nullptr)
WebTiledLayer(const QString &templateUrl, const QStringList &subDomains, Esri::ArcGISRuntime::Credential *credential, QObject *parent = nullptr)
WebTiledLayer(const QString &templateUrl, const QStringList &subDomains, QObject *parent = nullptr)
WebTiledLayer(const QString &templateUrl, Esri::ArcGISRuntime::Credential *credential, QObject *parent = nullptr)
WebTiledLayer(const QString &templateUrl, QObject *parent = nullptr)
virtual ~WebTiledLayer() override
QStringList subDomains() const
QString templateUrl() const

Detailed Description

WebTiledLayer provides a simple way to integrate non-ArcGIS Services as a layer in a map. The URL template usually follows a pattern similar to %http://{subDomain}.server.org/path/{level}/{col}/{row}.png, where:

  • "subDomain" is one of the strings in the subDomains list
  • "level" corresponds to a zoom level
  • "col" represents the column of the tile
  • "row" represents the row of the tile.

The URL should be arranged to reflect how the tiles are organized in the cache or on the server, and can point to a web server (%http://) or to a local file cache (%file://).

The tiles retrieved by this class are accessed directly by URL. Because the service is only providing images, you are responsible for manually setting the attribution text on the map or scene view.

To create a custom service tiled layer whose URL follows the above pattern (or a similar pattern), you can extend this class. Alternatively, you can extend the super class ServiceImageTiledLayer, in which you implement a required method to set the request information for a given level of detail (LOD), column, and row. Extending WebTiledLayer, however, has no such requirement.

Functional characteristics

Tiles are fetched on demand using the specified URL template. Tiles are typically prerendered (cached) on the server but may be generated on demand by some services. Web tiled layers do not support identify, query, selection, or time.

Specifying subdomains from which the layer will request tiles allows the load to be more evenly distributed among servers.

Performance characteristics

Web tiled layer requires a connection to the service at all times. Performance is similar to other raster tile layers.

See sample: {https://developers.arcgis.com/qt/latest/cpp/sample-code/web-tiled-layer/} {Web tiled layer}

See also Layer.

Member Function Documentation

WebTiledLayer::WebTiledLayer(const QString &templateUrl, const QStringList &subDomains, const Esri::ArcGISRuntime::TileInfo &tileInfo, const Esri::ArcGISRuntime::Envelope &fullExtent, Esri::ArcGISRuntime::Credential *credential, QObject *parent = nullptr)

Constructor that takes a templateUrl, subDomains, tileInfo, fullExtent, credential and an optional parent.

See the class description for how to format templateUrl and usage of subDomains.

WebTiledLayer::WebTiledLayer(const QString &templateUrl, const QStringList &subDomains, const Esri::ArcGISRuntime::TileInfo &tileInfo, const Esri::ArcGISRuntime::Envelope &fullExtent, QObject *parent = nullptr)

Constructor that takes a templateUrl, subDomains, tileInfo, fullExtent and an optional parent.

See the class description for how to format templateUrl and usage of subDomains.

WebTiledLayer::WebTiledLayer(const QString &templateUrl, const Esri::ArcGISRuntime::TileInfo &tileInfo, const Esri::ArcGISRuntime::Envelope &fullExtent, Esri::ArcGISRuntime::Credential *credential, QObject *parent = nullptr)

Constructor that takes a templateUrl, tileInfo, fullExtent, credential and an optional parent.

See the class description for how to format templateUrl.

WebTiledLayer::WebTiledLayer(const QString &templateUrl, const Esri::ArcGISRuntime::TileInfo &tileInfo, const Esri::ArcGISRuntime::Envelope &fullExtent, QObject *parent = nullptr)

Constructor that takes a templateUrl, tileInfo, fullExtent and an optional parent.

See the class description for how to format templateUrl.

WebTiledLayer::WebTiledLayer(const QString &templateUrl, const QStringList &subDomains, Esri::ArcGISRuntime::Credential *credential, QObject *parent = nullptr)

Constructor that takes a templateUrl, subDomains, credential and an optional parent

See the class description for how to format templateUrl and usage of subDomains.

WebTiledLayer::WebTiledLayer(const QString &templateUrl, const QStringList &subDomains, QObject *parent = nullptr)

Creates a WebTiledLayer object. Constructor that takes a templateUrl, subDomains and an optional parent

Use this function to create a WebTiledLayer object, which provides a simple way to integrate non-ArcGIS Services as a layer in a map. Since an explicit TileInfo argument is not part of this constructor, the max LOD will be 23 (approximate scale of 70 and resolution of 1.86 cm/pixel). The template URL usually follows a pattern similar to http://{subDomain}.server.org/path/{level}/{col}/{row}.png, where "subDomain" is one of the available string in the sub_domains list, "level" corresponds to a zoom level, "col" represents the tile column, and "row" represents the tile row. The "sub_domains" list must at least 1 string value to use the "subDomain" key in the template URL. The URL should be arranged to reflect how the tiles are arranged in the cache or on the server, and can point to a web server (http://) or to a local file cache (file://). The tiles are assumed to be in the OpenStreetMap tiling scheme, with 256x256 PNG tiles at 96 DPI, the web mercator projection, and a full extents of [-180, -85.0511, 180, 85.051].

WebTiledLayer::WebTiledLayer(const QString &templateUrl, Esri::ArcGISRuntime::Credential *credential, QObject *parent = nullptr)

Constructor that takes a templateUrl, credential and an optional parent.

See the class description for how to format templateUrl.

WebTiledLayer::WebTiledLayer(const QString &templateUrl, QObject *parent = nullptr)

Constructor that takes a templateUrl and an optional parent.

Use this function to create a WebTiledLayer object, which provides a simple way to integrate non-ArcGIS Services as a layer in a map. Since an explicit TileInfo argument is not part of this constructor, the max LOD will be 23 (approximate scale of 70 and resolution of 1.86 cm/pixel). The template URL usually follows a pattern similar to http://server.org/path/{level}/{col}/{row}.png, where "level" corresponds to a zoom level, "col" represents the tile column, and "row" represents the tile row. This URL should be arranged to reflect how the tiles are arranged in the cache or on the server. This URL can point to a web server (http://) or to a local file cache (file://). The tiles are assumed to be in the OpenStreetMap tiling scheme, with 256x256 PNG tiles at 96 DPI, the web mercator projection, and a fullExtents of [-180, -85.0511, 180, 85.051].

See the class description for how to format templateUrl.

[override virtual] WebTiledLayer::~WebTiledLayer()

Destructor.

QStringList WebTiledLayer::subDomains() const

Returns the list of sub domains used to construct the layer if specified.

QString WebTiledLayer::templateUrl() const

Returns the template url used to construct the layer.


Feedback on this topic?