Basemap Class
A basemap is a non-editable layer that provides background, or reference information, in your map or scene. More...
Header: | #include <Basemap.h> |
Since: | Esri::ArcGISRuntime 100.0 |
Inherits: | Esri::ArcGISRuntime::Object, Esri::ArcGISRuntime::ApiKeyResource, Esri::ArcGISRuntime::Loadable, Esri::ArcGISRuntime::JsonSerializable, and Esri::ArcGISRuntime::RemoteResource |
Public Functions
Basemap(const QList<Esri::ArcGISRuntime::Layer *> &baseLayers, const QList<Esri::ArcGISRuntime::Layer *> &referenceLayers, QObject *parent = nullptr) | |
Basemap(Esri::ArcGISRuntime::BasemapStyle basemapStyle, Esri::ArcGISRuntime::Credential *credential, QObject *parent = nullptr) | |
Basemap(Esri::ArcGISRuntime::BasemapStyle basemapStyle, QObject *parent = nullptr) | |
Basemap(Esri::ArcGISRuntime::Layer *baseLayer, QObject *parent = nullptr) | |
Basemap(const QUrl &url, QObject *parent = nullptr) | |
Basemap(Esri::ArcGISRuntime::Item *item, QObject *parent = nullptr) | |
Basemap(QObject *parent = nullptr) | |
virtual | ~Basemap() override |
Esri::ArcGISRuntime::LayerListModel * | baseLayers() const |
Esri::ArcGISRuntime::Basemap * | clone(QObject *parent = nullptr) const |
Esri::ArcGISRuntime::Item * | item() const |
QString | name() const |
Esri::ArcGISRuntime::LayerListModel * | referenceLayers() const |
void | setName(const QString &name) |
Reimplemented Public Functions
virtual QString | apiKey() const override |
virtual void | cancelLoad() override |
virtual Esri::ArcGISRuntime::Credential * | credential() const override |
virtual void | load() override |
virtual Esri::ArcGISRuntime::Error | loadError() const override |
virtual Esri::ArcGISRuntime::LoadStatus | loadStatus() const override |
virtual Esri::ArcGISRuntime::RequestConfiguration | requestConfiguration() const override |
virtual void | retryLoad() override |
virtual void | setApiKey(const QString &apiKey) override |
virtual void | setRequestConfiguration(const Esri::ArcGISRuntime::RequestConfiguration &requestConfiguration) override |
virtual QString | toJson() const override |
virtual QJsonObject | unknownJson() const override |
virtual QJsonObject | unsupportedJson() const override |
virtual QUrl | url() const override |
Signals
void | doneLoading(const Esri::ArcGISRuntime::Error &loadError) |
void | loadStatusChanged(Esri::ArcGISRuntime::LoadStatus loadStatus) |
Static Public Members
Esri::ArcGISRuntime::Basemap * | fromJson(const QString &json, QObject *parent = nullptr) |
Detailed Description
A basemap provides a background of geographical context for the content you display in a map or scene. It provides a visual reference to help orient users and a framework on which you can overlay operational layers, perform analysis, and visualize geographic information. The content of a basemap is typically static and does not change frequently.
A basemap is composed of a collection of base layers (baseLayers) and reference layers (referenceLayers). Base layers are displayed at the bottom of a map or scene, and reference layers are displayed at the top, with the GeoModel::operationalLayers between them.
Typically, you construct a basemap using a basemap style:
- Use image tile basemap styles for satellite imagery and hillshade.
- Use vector tile basemap styles such as streets navigation, light gray canvas, and OpenStreetMap (OSM).
- Create custom basemap styles with your own colors, glyphs, and fonts using the ArcGIS Vector Tile Style Editor.
See BasemapStyle for the full range of the basemap styles provided by Esri. Basemap styles allow you to take advantage of geographically load-balanced services and monitor usage with API keys or named users. See Basemap layers for more information.
If your app works offline, you can construct a local basemap from a tiled layer using a TileCache, such as a tile package (.tpk, .tpkx, .vtpk) or a compact cache, stored on the device.
ArcGISTiledLayer* tiledLayer = new ArcGISTiledLayer(streetMapServiceUrl, this); Basemap* basemap = new Basemap(tiledLayer, this); Map* map = new Map(basemap, this);
See also BasemapStyle.
Member Function Documentation
Basemap::Basemap(const QList<Esri::ArcGISRuntime::Layer *> &baseLayers , const QList<Esri::ArcGISRuntime::Layer *> &referenceLayers , QObject *parent = nullptr)
Construct a Basemap from baseLayers and referenceLayers with an optional parent.
[since Esri::ArcGISRuntime 100.10]
Basemap::Basemap(Esri::ArcGISRuntime::BasemapStyle basemapStyle , Esri::ArcGISRuntime::Credential *credential, QObject *parent = nullptr)
Construct a Basemap with a style and a credential.
- basemapStyle - The basemap style.
- credential - the credential to use.
- parent - The optional parent QObject.
This function was introduced in Esri::ArcGISRuntime 100.10.
[since Esri::ArcGISRuntime 100.10]
Basemap::Basemap(Esri::ArcGISRuntime::BasemapStyle basemapStyle , QObject *parent = nullptr)
Creates a basemap with a BasemapStyle. These basemaps are secured and access requires either an API key or a named user.
- basemapStyle - The basemap style.
- parent - The optional parent QObject.
This function was introduced in Esri::ArcGISRuntime 100.10.
See also BasemapStyle.
Basemap::Basemap(Esri::ArcGISRuntime::Layer *baseLayer , QObject *parent = nullptr)
Creates a basemap with a single base layer.
- baseLayer - A layer object.
- parent - The optional parent QObject.
Basemap::Basemap(const QUrl &url, QObject *parent = nullptr)
Creates a basemap with the URL.
- url - URL of the basemap, commonly the URL of a web map portal item.
- parent - The optional parent QObject.
If the specified URL is a portal item URL (see PortalItem::PortalItem() for the supported URL formats), the underlying PortalItem will be created and accessible through item.
The URL can be one of three possible types:
- The item details page : https://www.myPortal.com/home/item.html?id=12345678901234567890123456789012
- The map view page : https://www.myPortal.com/home/webmap/viewer.html?webmap=12345678901234567890123456789012
- The sharing data page : https://www.myPortal.com/sharing/rest/content/items/12345678901234567890123456789012/data
See also PortalItem, PortalItem::PortalItem(QUrl), and item.
Basemap::Basemap(Esri::ArcGISRuntime::Item *item, QObject *parent = nullptr)
Creates a basemap with a portal item of type PortalItemType::WebMap.
- item - A web map PortalItem.
- parent - The optional parent QObject.
The PortalItem automatically loads when the Basemap loads. If the loaded Item is not a portal item of type PortalItemType::WebMap, the basemap fails to load.
Basemap::Basemap(QObject *parent = nullptr)
Creates a basemap. Layers need to be added to the basemap before it can be used.
- parent - The optional parent QObject.
[signal]
void Basemap::doneLoading (const Esri::ArcGISRuntime::Error &loadError )
Signal emitted when Basemap is done loading.
- loadError - Details about any error that may have occurred.
Note: If there is a load error it will also be emitted on the errorOccurred
signal.
[signal]
void Basemap::loadStatusChanged (Esri::ArcGISRuntime::LoadStatus loadStatus )
loadStatus See Loadable.
[override virtual]
Basemap::~Basemap()
Destructor.
[override virtual, since Esri::ArcGISRuntime 100.11]
QString Basemap::apiKey () const
Reimplements: ApiKeyResource::apiKey() const.
Returns the API key. See ApiKeyResource.
This function was introduced in Esri::ArcGISRuntime 100.11.
See also setApiKey().
Esri::ArcGISRuntime::LayerListModel *Basemap::baseLayers () const
Returns the collection of base layers in this basemap.
Base layers are drawn beneath all other layers in the Map or Scene. They are designed to provide a visual reference to help orient the user. Aerial imagery, terrain, and streets are examples of basemap layers. The collection can be empty but it is never nullptr
.
This collection is specific to this basemap so you cannot reuse a collection coming from another Basemap.
See also Layer and GeoModel::operationalLayers.
[override virtual]
void Basemap::cancelLoad ()
Reimplements: Loadable::cancelLoad().
See Loadable.
[since Esri::ArcGISRuntime 200.1]
Esri::ArcGISRuntime::Basemap *Basemap::clone(QObject *parent = nullptr) const
Clones the basemap to a new instance with an optional parent.
Returns a new instance of the current basemap.
All objects referenced by the basemap, such as layers or portal item, are copied as well.
This function was introduced in Esri::ArcGISRuntime 200.1.
[override virtual]
Esri::ArcGISRuntime::Credential *Basemap::credential() const
Reimplements: RemoteResource::credential() const.
Returns the security credential used to access the basemap.
[static]
Esri::ArcGISRuntime::Basemap *Basemap::fromJson (const QString &json, QObject *parent = nullptr)
Creates a new Basemap from json with an optional parent.
See also JsonSerializable.
Esri::ArcGISRuntime::Item *Basemap::item() const
Returns the portal item associated with this basemap.
See also Basemap.
[override virtual]
void Basemap::load()
Reimplements: Loadable::load().
See Loadable.
[override virtual]
Esri::ArcGISRuntime::Error Basemap::loadError () const
Reimplements: Loadable::loadError() const.
See Loadable.
[override virtual]
Esri::ArcGISRuntime::LoadStatus Basemap::loadStatus () const
Reimplements: Loadable::loadStatus() const.
See Loadable.
QString Basemap::name() const
Returns the name of this basemap.
See also setName().
Esri::ArcGISRuntime::LayerListModel *Basemap::referenceLayers () const
Returns the collection of reference layers in this basemap.
Reference layers are drawn on top all other layers in the Map or Scene to display information such as boundaries, labels, and traffic networks. The collection can be empty but it is never nullptr
.
This collection is specific to this basemap so you cannot reuse a collection coming from another Basemap.
See also Layer, GeoModel::operationalLayers, and baseLayers.
[override virtual, since Esri::ArcGISRuntime 100.10]
Esri::ArcGISRuntime::RequestConfiguration Basemap::requestConfiguration () const
Reimplements: RemoteResource::requestConfiguration() const.
Returns the RequestConfiguration in use by this basemap.
This function was introduced in Esri::ArcGISRuntime 100.10.
See also setRequestConfiguration().
[override virtual]
void Basemap::retryLoad ()
Reimplements: Loadable::retryLoad().
See Loadable.
[override virtual, since Esri::ArcGISRuntime 100.11]
void Basemap::setApiKey (const QString &apiKey )
Reimplements: ApiKeyResource::setApiKey(const QString &apiKey).
Sets the API key to apiKey. See ApiKeyResource.
This function was introduced in Esri::ArcGISRuntime 100.11.
See also apiKey().
void Basemap::setName (const QString &name)
Sets the name of the Basemap.
- name - The new Basemap name.
See also name().
[override virtual, since Esri::ArcGISRuntime 100.10]
void Basemap::setRequestConfiguration (const Esri::ArcGISRuntime::RequestConfiguration &requestConfiguration )
Reimplements: RemoteResource::setRequestConfiguration(const Esri::ArcGISRuntime::RequestConfiguration &requestConfiguration).
Sets configuration parameters used for network requests sent by this basemap to requestConfiguration.
This function was introduced in Esri::ArcGISRuntime 100.10.
See also requestConfiguration().
[override virtual]
QString Basemap::toJson () const
Reimplements: JsonSerializable::toJson() const.
Gets the json representation of this object.
See also JsonSerializable.
[override virtual]
QJsonObject Basemap::unknownJson () const
Reimplements: JsonSerializable::unknownJson() const.
Gets the unknown JSON of this object.
See also JsonSerializable.
[override virtual]
QJsonObject Basemap::unsupportedJson () const
Reimplements: JsonSerializable::unsupportedJson() const.
Gets the unsupported JSON of this object.
See also JsonSerializable.
[override virtual]
QUrl Basemap::url() const
Reimplements: RemoteResource::url() const.
Gets the URL of the Basemap.
Returns the URL.