ArcGIS Runtime SDK for iOS: AGSIndoorsLocationDataSource Class Reference
ArcGIS Runtime SDK for iOS  100.15
AGSIndoorsLocationDataSource Class Reference

Description

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.

Since
100.13
Inheritance diagram for AGSIndoorsLocationDataSource:
AGSLocationDataSource AGSObject

Instance Methods

(void) - didStartOrFailWithError:
 
(void) - didStop
 
(void) - didUpdateHeading:
 
(void) - didUpdateLocation:
 
(void) - doStart
 
(void) - doStop
 
(instancetype) - initWithPositioningTable:pathwaysTable:
 
(instancetype) - initWithPositioningTable:pathwaysTable:positioningID:
 
(void) - startWithCompletion:
 
(void) - stop
 
(void) - stopWithCompletion:
 

Class Methods

(instancetype) + indoorsLocationDataSourceWithPositioningTable:pathwaysTable:
 
(instancetype) + indoorsLocationDataSourceWithPositioningTable:pathwaysTable:positioningID:
 

Properties

NSError * error
 
id< AGSLocationChangeHandlerDelegatelocationChangeHandlerDelegate
 
AGSArcGISFeatureTablepathwaysTable
 
NSUUID * positioningID
 
AGSFeatureTablepositioningTable
 
BOOL started
 
AGSLocationDataSourceStatus status
 
NSError * warning
 

Method Documentation

◆ didStartOrFailWithError:

- (void) didStartOrFailWithError: (nullable NSError *)  error

Subclasses must call this in doStart (AGSLocationDataSource(ForSubclassEyesOnly)) once the datasource has started.

Since
100

Provided by category AGSLocationDataSource(ForSubclassEyesOnly).

◆ didStop

- (void) didStop

Subclasses must call this in doStop (AGSLocationDataSource(ForSubclassEyesOnly)) once the datasource has stopped.

Since
100

Provided by category AGSLocationDataSource(ForSubclassEyesOnly).

◆ didUpdateHeading:

- (void) didUpdateHeading: (double)  heading

Subclasses must call this once they have a new heading.

Since
100

Provided by category AGSLocationDataSource(ForSubclassEyesOnly).

◆ didUpdateLocation:

- (void) didUpdateLocation: (AGSLocation *)  location

Subclasses must call this once they have a new location.

Since
100

Provided by category AGSLocationDataSource(ForSubclassEyesOnly).

◆ doStart

- (void) doStart

Subclasses must implement this method to start the datasource. Once the datasource has started or failed to start it should call didStartOrFailWithError: (AGSLocationDataSource(ForSubclassEyesOnly)). As updates are received, the datasource should call didUpdateLocation: (AGSLocationDataSource(ForSubclassEyesOnly)) or didUpdateHeading: (AGSLocationDataSource(ForSubclassEyesOnly)).

Since
100

Provided by category AGSLocationDataSource(ForSubclassEyesOnly).

◆ doStop

- (void) doStop

Subclasses must implement this method to stop the datasource. Once the datasource has stopped it should call didStop (AGSLocationDataSource(ForSubclassEyesOnly))

Since
100

Provided by category AGSLocationDataSource(ForSubclassEyesOnly).

◆ indoorsLocationDataSourceWithPositioningTable:pathwaysTable:

+ (instancetype) indoorsLocationDataSourceWithPositioningTable: (AGSFeatureTable *)  positioningTable
pathwaysTable: (nullable AGSArcGISFeatureTable *)  pathwaysTable 

Creates a new AGSIndoorsLocationDataSource object from the given feature table and context.

Parameters
positioningTableThe "ips_positioning" feature table from an IPS-enabled map.
pathwaysTableAn ArcGIS feature table that contains pathways as per the ArcGIS Indoors Information Model.
Since
100.13

◆ indoorsLocationDataSourceWithPositioningTable:pathwaysTable:positioningID:

+ (instancetype) indoorsLocationDataSourceWithPositioningTable: (AGSFeatureTable *)  positioningTable
pathwaysTable: (nullable AGSArcGISFeatureTable *)  pathwaysTable
positioningID: (NSUUID *)  positioningID 

Creates a new AGSIndoorsLocationDataSource object from the given feature table and context.

Parameters
positioningTableThe "ips_positioning" feature table from an IPS-enabled map.
pathwaysTableAn ArcGIS feature table that contains pathways as per the ArcGIS Indoors Information Model.
positioningIDAn ID which identifies a specific row in the feature table that should be used for setting up IPS.
Since
100.13

◆ initWithPositioningTable:pathwaysTable:

- (instancetype) initWithPositioningTable: (AGSFeatureTable *)  positioningTable
pathwaysTable: (nullable AGSArcGISFeatureTable *)  pathwaysTable 

Creates a new AGSIndoorsLocationDataSource object from the given feature table and context. The data source will try to determine the latest row in the table and use that to set up the Indoors Positioning System (IPS).

Parameters
positioningTableThe "ips_positioning" feature table from an IPS-enabled map.
pathwaysTableAn ArcGIS feature table that contains pathways as per the ArcGIS Indoors Information Model.
Since
100.13

◆ initWithPositioningTable:pathwaysTable:positioningID:

- (instancetype) initWithPositioningTable: (AGSFeatureTable *)  positioningTable
pathwaysTable: (nullable AGSArcGISFeatureTable *)  pathwaysTable
positioningID: (NSUUID *)  positioningID 

Creates a new AGSIndoorsLocationDataSource object from the given feature table and context.

Parameters
positioningTableThe "ips_positioning" feature table from an IPS-enabled map.
pathwaysTableAn ArcGIS feature table that contains pathways as per the ArcGIS Indoors Information Model.
positioningIDAn ID which identifies a specific row in the feature table that should be used for setting up IPS.
Since
100.13

◆ startWithCompletion:

- (void) startWithCompletion: (nullable void(^)(NSError *__nullable error))  completion

This is invoked by the location display on the datasource to initiate requesting location updates. Internally this method calls doStart (AGSLocationDataSource(ForSubclassEyesOnly)) which subclasses must implement.

Parameters
completionblock which will be invoked when the operation completes. If the dataSource failed to start, the error property will be populated.
Since
100

◆ stop

- (void) stop

This is invoked by the location display on the datasource to stop requesting location updates. Internally this method calls doStop (AGSLocationDataSource(ForSubclassEyesOnly)) which subclasses must implement.

Since
100
Deprecated:
100.14. Replaced by stopWithCompletion:.

Provided by category AGSLocationDataSource(AGSDeprecated).

◆ stopWithCompletion:

- (void) stopWithCompletion: (nullable void(^)(void))  completion

This is invoked by the location display on the datasource to stop requesting location updates. Internally this method calls doStop (AGSLocationDataSource(ForSubclassEyesOnly)) which subclasses must implement.

Since
100.14

Property Documentation

◆ error

- (NSError*) error
readnonatomicstronginherited

The error that prevented the datasource from starting or was encountered while retrieving a location udpate

Since
100

◆ locationChangeHandlerDelegate

- (id<AGSLocationChangeHandlerDelegate>) locationChangeHandlerDelegate
readwritenonatomicweakinherited

The delegate which will receive location, heading and status updates from the data source.

Since
100.6

◆ pathwaysTable

- (AGSArcGISFeatureTable*) pathwaysTable
readnonatomicstrong

An AGSArcGISFeatureTable that contains pathways as per the ArcGIS indoors information model.

For more information about the ArcGIS indoors information model see https://pro.arcgis.com/en/pro-app/latest/help/data/indoors/arcgis-indoors-information-model.htm#ESRI_SECTION2_72E0DE4BBEFA435485E2D10CB16D2BE6.

Since
100.13

◆ positioningID

- (NSUUID*) positioningID
readnonatomicstrong

The ID that identifies a row in the AGSFeatureTable.

Since
100.13

◆ positioningTable

- (AGSFeatureTable*) positioningTable
readnonatomicstrong

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

Since
100.13

◆ started

- (BOOL) started
readnonatomicassigninherited

YES if the data source has been started, NO otherwise.

Since
100.0
Deprecated:
100.14. Replaced by AGSLocationDataSource::status.

Provided by category AGSLocationDataSource(AGSDeprecated).

◆ status

- (AGSLocationDataSourceStatus) status
readnonatomicassigninherited

The status of the data source.

Since
100.14

◆ warning

- (NSError*) warning
readnonatomicstrong

An error that describes a problem encountered while starting or running the AGSLocationDataSource.

This property is used to notify user about transient, non-terminal errors, which occur in AGSIndoorsLocationDataSource. Such errors can influence accuracy of the final positioning. Information stored inside reported error contains useful information about its origin. Unlike AGSLocationDataSource::error it does not require AGSIndoorsLocationDataSource to be restarted.

Since
100.14