IALocationManagerDelegate

Objective-C

@protocol IALocationManagerDelegate <NSObject>

Swift

protocol IALocationManagerDelegate : NSObjectProtocol

The IALocationManagerDelegate protocol defines the methods used to receive location updates from an IALocationManager object.

Upon receiving a successful location update, you can use the result to update your user interface or perform other actions.

The methods of your delegate object are called from the main thread.

Responding to Location Events

  • Tells the delegate that new location data is available.

    Implementation of this method is optional but recommended.

    Declaration

    Objective-C

    - (void)indoorLocationManager:(nonnull IALocationManager *)manager
               didUpdateLocations:(nonnull NSArray<IALocation *> *)locations;

    Swift

    optional func indoorLocationManager(_ manager: IALocationManager, didUpdate locations: [IALocation])

    Parameters

    manager

    The location manager object that generated the update event.

    locations

    An array of IALocation objects containing the location data. This array always contains at least one object representing the current location. If updates were deferred or if multiple locations arrived before they could be delivered, the array may contain additional entries. The objects in the array are organized in the order in which they occured. Threfore, the most recent location update is at the end of the array.

  • Undocumented

    Declaration

    Objective-C

    - (void)indoorLocationManager:(nonnull IALocationManager*)manager didUpdateLocationsDeprecated:(nonnull NSArray*)locations NS_SWIFT_NAME(indoorLocationManager(_:didUpdateLocations:));

    Swift

    optional func indoorLocationManager(_ manager: IALocationManager, didUpdateLocations locations: [Any])
  • Tells the delegate that the user entered the specified region.

    Declaration

    Objective-C

    - (void)indoorLocationManager:(nonnull IALocationManager *)manager
                   didEnterRegion:(nonnull IARegion *)region;

    Swift

    optional func indoorLocationManager(_ manager: IALocationManager, didEnter region: IARegion)

    Parameters

    manager

    The location manager object that generated the event.

    region

    The region related to event.

  • Tells the delegate that the user left the specified region.

    Declaration

    Objective-C

    - (void)indoorLocationManager:(nonnull IALocationManager *)manager
                    didExitRegion:(nonnull IARegion *)region;

    Swift

    optional func indoorLocationManager(_ manager: IALocationManager, didExitRegion region: IARegion)

    Parameters

    manager

    The location manager object that generated the event.

    region

    The region related to event.

  • Tells the delegate that the wayfinding route was updated.

    Declaration

    Objective-C

    - (void)indoorLocationManager:(nonnull IALocationManager *)manager
                   didUpdateRoute:(nonnull IARoute *)route;

    Swift

    optional func indoorLocationManager(_ manager: IALocationManager, didUpdate route: IARoute)

    Parameters

    manager

    The location manager object that generated the event.

    route

    The new route.

  • Tells that IALocationManager status changed. This is used to signal network connection issues.

    Declaration

    Objective-C

    - (void)indoorLocationManager:(nonnull IALocationManager *)manager
                    statusChanged:(nonnull IAStatus *)status;

    Swift

    optional func indoorLocationManager(_ manager: IALocationManager, statusChanged status: IAStatus)

    Parameters

    manager

    The location manager object that generated the event.

    status

    The status at the time of the event.

  • Tells that extra information dictionary was received. This dictionary contains identifier for debugging positioning.

    Declaration

    Objective-C

    - (void)indoorLocationManager:(nonnull IALocationManager *)manager
              didReceiveExtraInfo:(nonnull NSDictionary *)extraInfo;

    Swift

    optional func indoorLocationManager(_ manager: IALocationManager, didReceiveExtraInfo extraInfo: [AnyHashable : Any])

    Parameters

    manager

    The location manager object that generated the event.

    extraInfo

    NSDictionary containing extra information about positioning.

  • Tells the delegate that updated heading information is available.

    Declaration

    Objective-C

    - (void)indoorLocationManager:(nonnull IALocationManager *)manager
                 didUpdateHeading:(nonnull IAHeading *)newHeading;

    Swift

    optional func indoorLocationManager(_ manager: IALocationManager, didUpdate newHeading: IAHeading)

    Parameters

    manager

    The location manager object that generated the event.

    newHeading

    New heading data.

  • Tells the delegate that updated attitude (orientation) information is available.

    Declaration

    Objective-C

    - (void)indoorLocationManager:(nonnull IALocationManager *)manager
                didUpdateAttitude:(nonnull IAAttitude *)newAttitude;

    Swift

    optional func indoorLocationManager(_ manager: IALocationManager, didUpdate newAttitude: IAAttitude)

    Parameters

    manager

    The location manager object that generated the event.

    newAttitude

    New attitude data.

  • Tells the delegate that one or more beacons are in range.

    [IALocationManager startMonitoringForBeacons] must be called first.

    NOTE! To enable the callback, please contact IndoorAtlas support.

    Declaration

    Objective-C

    - (void)indoorLocationManager:(nonnull IALocationManager *)manager
                  didRangeBeacons:(nonnull NSArray<CLBeacon *> *)beacons;

    Swift

    optional func indoorLocationManager(_ manager: IALocationManager, didRangeBeacons beacons: [CLBeacon])
  • Tells the delegate that an error occurred while gathering ranging information for a set of beacons.

    [IALocationManager startMonitoringForBeacons] must be called first.

    NOTE! To enable the callback, please contact IndoorAtlas support.

    Declaration

    Objective-C

    - (void)indoorLocationManager:(nonnull IALocationManager *)manager
        rangingBeaconsDidFailForRegion:(nonnull CLBeaconRegion *)region
                             withError:(nonnull NSError *)error;

    Swift

    optional func indoorLocationManager(_ manager: IALocationManager, rangingBeaconsDidFailFor region: CLBeaconRegion, withError error: Error)