Skip To Content ArcGIS for Developers Sign In Dashboard

KmlDataset Class


Contains the current state of the KML data specified in a KML/KMZ file. More...

Header: #include <KmlDataset>
Since: Esri::ArcGISRuntime 100.4
Inherits: Object, Loadable, and RemoteResource

Public Functions

KmlDataset(const QUrl &url, QObject *parent = nullptr)
KmlDataset(KmlNode *rootNode, QObject *parent = nullptr)
KmlDataset(const QUrl &url, Credential *credential, QObject *parent = nullptr)
QList<KmlNode *> rootNodes() const

Reimplemented Public Functions

virtual void cancelLoad()
virtual Credential *credential() const
virtual void load()
virtual Error loadError() const
virtual LoadStatus loadStatus() const
virtual RequestConfiguration requestConfiguration() const
virtual void retryLoad()
virtual void setRequestConfiguration(const RequestConfiguration &requestConfiguration)
virtual QUrl url() const


void doneLoading(Esri::ArcGISRuntime::Error loadError)
void kmlNetworkLinkMessageReceived(Esri::ArcGISRuntime::KmlNetworkLink *networkLink, const QString &message)
void kmlNodeBalloonVisibilityChanged(Esri::ArcGISRuntime::KmlNode *target, bool balloonVisibility)
void kmlNodeRefreshStatusChanged(Esri::ArcGISRuntime::KmlNode *target, Esri::ArcGISRuntime::KmlRefreshStatus refreshStatus)
void loadStatusChanged(Esri::ArcGISRuntime::LoadStatus loadStatus)

Additional Inherited Members

  • 1 property inherited from QObject
  • 1 public slot inherited from QObject
  • 1 public variable inherited from QObject
  • 10 static public members inherited from QObject
  • 9 protected functions inherited from QObject
  • 2 protected variables inherited from QObject

Detailed Description

Contains the current state of the KML data specified in a KML/KMZ file.

See also Loadable.

Member Function Documentation

KmlDataset::KmlDataset(const QUrl &url, QObject *parent = nullptr)

Constructor that takes a url and an optional parent.

url may be a network resource or a local .kml or .kmz file.

KmlDataset::KmlDataset(KmlNode *rootNode, QObject *parent = nullptr)

Constructor that creates a KML dataset from the specified rootNode with an optional parent.

Licensing for KML depends on the method of access. Creating a KML dataset from a root node requires an ArcGIS Runtime 'Standard' license level.

This function was introduced in Esri::ArcGISRuntime 100.6.

KmlDataset::KmlDataset(const QUrl &url, Credential *credential, QObject *parent = nullptr)

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

url may be a network resource or a local .kml or .kmz file.



[virtual] void KmlDataset::cancelLoad()

Reimplemented from Loadable::cancelLoad().

See Loadable.

[virtual] Credential *KmlDataset::credential() const

Reimplemented from RemoteResource::credential().

Returns the security credential used to access the KML dataset.

[signal] void KmlDataset::doneLoading(Esri::ArcGISRuntime::Error loadError)

Signal emitted when this object 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.

See also Loadable and Object.

[signal] void KmlDataset::kmlNetworkLinkMessageReceived(Esri::ArcGISRuntime::KmlNetworkLink *networkLink, const QString &message)

Signal emitted when a KML dataset network link message is available.

This is used to deliver a popup message, such as usage guidelines for the network link. The message is available when the network link is first loaded, or when it is changed in the network link control.

  • networkLink - the KmlNetworkLink that had the new message.
  • message - the message.

[signal] void KmlDataset::kmlNodeBalloonVisibilityChanged(Esri::ArcGISRuntime::KmlNode *target, bool balloonVisibility)

Signal emitted whenever a KML node's balloon visibility changes.

  • target - the node target for the balloon visibility event.
  • balloonVisibility - the visibility for the balloon.

This function was introduced in Esri::ArcGISRuntime 100.7.

[signal] void KmlDataset::kmlNodeRefreshStatusChanged(Esri::ArcGISRuntime::KmlNode *target, Esri::ArcGISRuntime::KmlRefreshStatus refreshStatus)

Signal emitted when a KML refresh event is raised.

  • target - the node target for the refresh event.
  • refreshStatus - the refresh status of the KML node.

[virtual] void KmlDataset::load()

Reimplemented from Loadable::load().

See Loadable.

[virtual] Error KmlDataset::loadError() const

Reimplemented from Loadable::loadError().

See Loadable.

[virtual] LoadStatus KmlDataset::loadStatus() const

Reimplemented from Loadable::loadStatus().

See Loadable.

[signal] void KmlDataset::loadStatusChanged(Esri::ArcGISRuntime::LoadStatus loadStatus)

Signal emitted when the load status changes for this object.

See also Loadable.

[virtual] RequestConfiguration KmlDataset::requestConfiguration() const

Reimplemented from RemoteResource::requestConfiguration().

Returns the RequestConfiguration in use by this KML dataset.

See also setRequestConfiguration().

[virtual] void KmlDataset::retryLoad()

Reimplemented from Loadable::retryLoad().

See Loadable.

QList<KmlNode *> KmlDataset::rootNodes() const

Returns the KML dataset's root nodes.

KML files can have multiple root nodes, each of which may have children. When traversing the KML feature tree (for example to build a TOC), rootNodes is the correct starting point. Each root node can be the start of a tree of nodes.

[virtual] void KmlDataset::setRequestConfiguration(const RequestConfiguration &requestConfiguration)

Reimplemented from RemoteResource::setRequestConfiguration().

Sets configuration parameters used for network requests sent by this KML dataset to requestConfiguration.

See also requestConfiguration().

[virtual] QUrl KmlDataset::url() const

Reimplemented from RemoteResource::url().

Returns the URL to the KML dataset.

Feedback on this topic?