Stores the information needed to create an IndoorsLocationDataSource. More...
Header: | #include <IndoorPositioningDefinition.h> |
Since: | Esri::ArcGISRuntime 200.4 |
Inherits: | Esri::ArcGISRuntime::Object and Esri::ArcGISRuntime::Loadable |
Public Functions
virtual | ~IndoorPositioningDefinition() override |
Esri::ArcGISRuntime::IndoorsLocationDataSourceConfiguration * | configuration() const |
Esri::ArcGISRuntime::IndoorPositioningDataOrigin | dataOrigin() const |
bool | isBluetoothCapable() const |
bool | isWifiCapable() const |
Esri::ArcGISRuntime::IndoorPositioningTableInfo * | positioningTableInfo() const |
QUrl | serviceGeodatabaseUrl() const |
void | setConfiguration(Esri::ArcGISRuntime::IndoorsLocationDataSourceConfiguration *configuration) |
Reimplemented Public Functions
virtual void | cancelLoad() override |
virtual void | load() override |
virtual Esri::ArcGISRuntime::Error | loadError() const override |
virtual Esri::ArcGISRuntime::LoadStatus | loadStatus() const override |
virtual void | retryLoad() override |
Signals
void | doneLoading(const Esri::ArcGISRuntime::Error &loadError) |
void | loadStatusChanged(Esri::ArcGISRuntime::LoadStatus loadStatus) |
Detailed Description
For a map to be IPS-enabled, one of the following must be true:
- A reference to an indoor positioning data service is defined in the web map properties.
- It contains an "ips_positioning" feature table.
If a map is IPS-aware, an IndoorPositioningDefinition can be returned using Map::indoorPositioningDefinition.
If it's not loaded when the IndoorsLocationDataSource starts, IndoorPositioningDefinition will perform loading during the starting phase, which can lead to a significant delay before IndoorsLocationDataSource is started. To prevent such a delay, manually load IndoorPositioningDefinition before starting IndoorsLocationDataSource.
Member Function Documentation
[override virtual]
IndoorPositioningDefinition::~IndoorPositioningDefinition ()
Destructor.
[override virtual]
void IndoorPositioningDefinition::cancelLoad ()
Reimplements: Loadable::cancelLoad().
Cancels loading metadata for the object.
Cancels loading the metadata if the object is loading and always calls doneLoading.
[since Esri::ArcGISRuntime 200.6]
Esri::ArcGISRuntime::IndoorsLocationDataSourceConfiguration *IndoorPositioningDefinition::configuration() const
Returns configuration settings for IndoorsLocationDataSource that are stored with a map's properties.
If not nullptr
, this IndoorsLocationDataSourceConfiguration is automatically applied to all IndoorsLocationDataSource objects that are created using this IndoorPositioningDefinition. When modifying properties of IndoorsLocationDataSource::configuration or configuration, be aware that they share the same object and changes made to one will affect the other. To prevent unintended modifications and ensure the original configuration is preserved, use the IndoorsLocationDataSourceConfiguration::clone method when adjusting the configuration.
This function was introduced in Esri::ArcGISRuntime 200.6.
See also setConfiguration().
[since Esri::ArcGISRuntime 200.5]
Esri::ArcGISRuntime::IndoorPositioningDataOrigin IndoorPositioningDefinition::dataOrigin () const
Returns origin of the data that is used for indoor positioning.
- Equal to IndoorPositioningDataOrigin::Geodatabase if the data required for indoor positioning is stored locally. This this the case if the Map is stored in a MobileMapPackage that does not reference online content.
- Equal to IndoorPositioningDataOrigin::ServiceGeodatabase if the data required for indoor positioning is stored with the feature service. This is the case if the Map is a web map or comes from a MobileMapPackage that references online content.
- Equal to IndoorPositioningDataOrigin::PositioningTable if the data required for indoor positioning is stored inside the positioning table.
This function was introduced in Esri::ArcGISRuntime 200.5.
[signal]
void IndoorPositioningDefinition::doneLoading (const Esri::ArcGISRuntime::Error &loadError )
Signal emitted when this object is done loading.
- loadError - The Error object.
Note: If there is a load error, it will also be emitted on the errorOccurred
signal.
[since Esri::ArcGISRuntime 200.5]
bool IndoorPositioningDefinition::isBluetoothCapable () const
Returns true
if the map includes data for Bluetooth-based indoor positioning, false
otherwise. Returns false
if loadStatus is not LoadStatus::Loaded.
This function was introduced in Esri::ArcGISRuntime 200.5.
[since Esri::ArcGISRuntime 200.5]
bool IndoorPositioningDefinition::isWifiCapable () const
Returns true
if the map includes data for WiFi-based indoor positioning, false
otherwise. Returns false
if loadStatus is not LoadStatus::Loaded.
This function was introduced in Esri::ArcGISRuntime 200.5.
[override virtual]
void IndoorPositioningDefinition::load()
Reimplements: Loadable::load().
Loads the metadata for the object asynchronously.
Loads the metadata if the object is not loaded and always calls doneLoading.
[override virtual]
Esri::ArcGISRuntime::Error IndoorPositioningDefinition::loadError () const
Reimplements: Loadable::loadError() const.
Returns the load error.
See also Error.
[override virtual]
Esri::ArcGISRuntime::LoadStatus IndoorPositioningDefinition::loadStatus () const
Reimplements: Loadable::loadStatus() const.
Returns the load status.
See also LoadStatus.
[signal]
void IndoorPositioningDefinition::loadStatusChanged (Esri::ArcGISRuntime::LoadStatus loadStatus )
Signal emitted when the load status changes for this object.
- loadStatus - The LoadStatus.
See also Loadable.
[since Esri::ArcGISRuntime 200.5]
Esri::ArcGISRuntime::IndoorPositioningTableInfo *IndoorPositioningDefinition::positioningTableInfo () const
Returns information about data in the "ips_positioning" feature table used for indoor positioning. nullptr
if dataOrigin is not IndoorPositioningDataOrigin::PositioningTable or loadStatus is not LoadStatus::Loaded.
This function was introduced in Esri::ArcGISRuntime 200.5.
[override virtual]
void IndoorPositioningDefinition::retryLoad ()
Reimplements: Loadable::retryLoad().
Loads or retries loading metadata for the object asynchronously.
Will retry loading the metadata if the object is failed to load. Will load the object if it is not loaded. Will not retry to load the object if the object is loaded. Will always call the done loading if this is called.
[since Esri::ArcGISRuntime 200.5]
QUrl IndoorPositioningDefinition::serviceGeodatabaseUrl () const
Returns url to the feature service that stores data used for indoor positioning. Empty if dataOrigin is not IndoorPositioningDataOrigin::ServiceGeodatabase or loadStatus is not LoadStatus::Loaded.
This function was introduced in Esri::ArcGISRuntime 200.5.
[since Esri::ArcGISRuntime 200.6]
void IndoorPositioningDefinition::setConfiguration (Esri::ArcGISRuntime::IndoorsLocationDataSourceConfiguration *configuration)
Sets the configuration to configuration.
This function was introduced in Esri::ArcGISRuntime 200.6.
See also configuration.