additionalSourceProperties property
A set of key-value pairs that provide additional metadata, such as source and accuracy details of this ArcGISLocation.
When an ArcGISLocation is created, implementation-specific or
platform-specific details about the location may be added to this
dictionary of additional source properties. This information is provided
as a set of key-value pairs, where the (case-sensitive) String key
describes the type of data held in the dynamic value. Values are basic
data types such as string, numeric, boolean, or date.
The specific keys and corresponding values available in the dictionary are determined by the location provider. However, this API recognizes the following well-known keys and exposes them through the LocationSourcePropertiesKeys class:
- "floor" (an integer value). The floor number of the ArcGISLocation when the location is in a building. Use LocationSourcePropertiesKeys.floor to reference this key.
- "floorLevelId" (a string value). The unique ID of the level feature when inside a building, in accordance with the ArcGIS Indoors Information Model. Use LocationSourcePropertiesKeys.floorLevelId to reference this key.
- "positionSource" (a string value). Indicates the source used to determine the position. For example: GNSS, AppleIPS, BLE, WIFI, CELL, IP. An ArcGISLocation may have multiple position sources, in which case this value returns a list of comma-separated values. Use LocationSourcePropertiesKeys.positionSource to reference this key.
- "satelliteCount" (an integer value). The number of satellites used to fix the ArcGISLocation. Use LocationSourcePropertiesKeys.satelliteCount to reference this key.
- "transmitterCount" (an integer value). The number of transmitters used to determine an indoor positioning system (IPS) position. Use LocationSourcePropertiesKeys.transmitterCount to reference this key.
The availability of these values depends on the location provider and platform. IndoorsLocationDataSource provides values for floor, floorLevelId, positionSource, and either transmitterCount or satelliteCount, depending on the underlying system data source. The location data source provides different values depending on the platform. For example, on iOS, it provides a value for floor and on Android, it provides values for positionSource and satelliteCount. Values reported via Android's ref-external@Location.getExtras() are also included in the additional source properties dictionary.
For developers wanting to derive their own LocationDataSource, ArcGISLocation.additionalSourceProperties provides a means to include extra information with each ArcGISLocation.