Class IndoorsLocationDataSource


  • public final class IndoorsLocationDataSource
    extends LocationDataSource
    For the IPS (Indoors Positioning System) we need to collect radio data such as iBeacon BLE (if user is inside) in and GPS (if user is outside). The collected data is forwarded to core, where the main algorithms are implemented, to determine the actual user position.
    Since:
    100.13.0
    • Constructor Detail

      • IndoorsLocationDataSource

        public IndoorsLocationDataSource​(android.content.Context context,
                                         FeatureTable positioningTable,
                                         ArcGISFeatureTable pathwaysTable)
        Creates a new IndoorsLocationDataSource from the given feature table and context. The IndoorsLocationDataSource will try to determine the latest row in the table and use that to set up the Indoors Positioning System (IPS).
        Parameters:
        context - the context that the MapView of the associated LocationDisplay is running in.
        positioningTable - the "ips_positioning" feature table from an IPS-enabled map.
        pathwaysTable - A ArcGISFeatureTable that contains pathways as per the ArcGIS Indoors Information Model.
        Throws:
        java.lang.IllegalArgumentException - if context or positioningTable is null
        Since:
        100.13.0
      • IndoorsLocationDataSource

        public IndoorsLocationDataSource​(android.content.Context context,
                                         FeatureTable positioningTable,
                                         ArcGISFeatureTable pathwaysTable,
                                         java.util.UUID positioningId)
        Creates a new IndoorsLocationDataSource from the given feature table, row in the feature table and context.
        Parameters:
        context - the context that the MapView of the associated LocationDisplay is running in.
        positioningTable - the "ips_positioning" feature table from an IPS-enabled map.
        pathwaysTable - A ArcGISFeatureTable that contains pathways as per the ArcGIS Indoors Information Model.
        positioningId - an ID which identifies a specific row in the feature table that should be used for setting up IPS.
        Throws:
        java.lang.IllegalArgumentException - if context or positioningTable is null
        Since:
        100.13.0
    • Method Detail

      • getPositioningId

        public java.util.UUID getPositioningId()
        Gets the UUID which identifies a specific row in the feature table that should be used for setting up IPS.
        Returns:
        UUID which identifies a specific row in the feature table that should be used for setting up IPS.
        Since:
        100.13.0
      • getPositioningTable

        public FeatureTable getPositioningTable()
        Gets the "ips_positioning" feature table from an IPS-enabled map.
        Returns:
        the "ips_positioning" feature table from an IPS-enabled map.
        Since:
        100.13.0
      • addWarningChangedListener

        public void addWarningChangedListener​(WarningChangedListener listener)
        Registers the given WarningChangedListener to be called when the warning property has changed.

        Adding this listener on the UI thread will cause it to be invoked on the UI thread, otherwise it is not guaranteed on which thread the listener is invoked.

        Parameters:
        listener - the listener to register
        Throws:
        java.lang.IllegalArgumentException - if the WarningChangedListener is null
        Since:
        100.14.0
        See Also:
        removeWarningChangedListener(WarningChangedListener)
      • removeWarningChangedListener

        public boolean removeWarningChangedListener​(WarningChangedListener listener)
        Unregisters the given WarningChangedListener that was previously added using addWarningChangedListener(WarningChangedListener).
        Parameters:
        listener - the listener to unregister
        Returns:
        true if the listener was successfully removed; false otherwise
        Since:
        100.14.0