IndoorsLocationDataSource

Provides an indoor or outdoor position based on device sensor data (radio, GPS, motion sensors). An IPS (indoor positioning system) position is calculated based on radio data and motion sensors. The GPS position is used as a fallback in case an IPS position can't be calculated, or if the IPS position reports a position outside of a building.

Constructors

Link copied to clipboard
constructor(positioningTable: FeatureTable, pathwaysTable: ArcGISFeatureTable? = null, levelsTable: ArcGISFeatureTable? = null, positioningId: Guid? = null)

Create a new IndoorsLocationDataSource from the given feature table and row in the "IPS_Positioning" FeatureTable. For more information about the ArcGIS Indoors Information Model see the ArcGIS Pro documentation.

constructor(definition: IndoorPositioningDefinition)

Creates a new IndoorsLocationDataSource object using the information contained in the provided IndoorPositioningDefinition. For a map to be IPS-aware, one of the following must be true:

Properties

Link copied to clipboard

Configuration settings for this IndoorsLocationDataSource. The configuration is used during the start of IndoorsLocationDataSource (except for IndoorsLocationDataSourceConfiguration.areInfoMessagesEnabled). For changes to the configuration to take effect, you must stop the data source before making changes and then restart with the updated configuration.

Link copied to clipboard

An ArcGISFeatureTable that contains floor levels in accordance with the ArcGIS Indoors Information Model. Providing this table enables the retrieval of a location's floor level ID.

Link copied to clipboard

Invoked when there is a new info message. If IndoorsLocationDataSourceConfiguration.areInfoMessagesEnabled is set to true, IndoorsLocationDataSource sends additional messages that are otherwise not forwarded to the user. These messages may be useful for diagnosing issues and troubleshooting. Enabling this setting is meant for debugging purposes and might negatively affect performance.

Link copied to clipboard

The "Pathways" feature table from an IPS-enabled map.

Link copied to clipboard

The ID that identifies a row in the IPS_Positioning FeatureTable.

Link copied to clipboard

The "IPS_Positioning" feature table from an IPS-enabled map.

Link copied to clipboard
val warning: StateFlow<Throwable?>

An error that describes a problem encountered while starting or running the LocationDataSource. This property is used to notify user about transient, non-terminal errors, which occur in IndoorsLocationDataSource. Such errors can influence accuracy of the final positioning. Information stored inside reported error contains useful information about its origin. Unlike LocationDataSource error it does not require IndoorsLocationDataSource to be restarted.

Inherited properties

Link copied to clipboard
val error: StateFlow<Throwable?>

An error that describes a problem encountered while starting or running the LocationDataSource. This property is used to notify the user about errors that occur in LocationDataSource. Such errors are critical for LocationDataSource and will cause it stop. If LocationDataSource cannot be started, or it stopped after a successful start, this property will store information related to what caused LocationDataSource to stop.

Link copied to clipboard
val headingChanged: SharedFlow<Double>

A SharedFlow that emits heading changes.

Link copied to clipboard
open val locationChanged: SharedFlow<Location>

A SharedFlow that emits location changes.

Link copied to clipboard

The current status of the location data source. The status indicates if the location data source is starting, started, stopping, stopped, and has failed to start.

Inherited functions

Link copied to clipboard
suspend fun start(): Result<Unit>

Starts the location data source asynchronously and prepares to begin receiving location updates.

Link copied to clipboard
suspend fun stop(): Result<Unit>

Stop the location data source asynchronously.