MMKLocationManager

@interface MMKLocationManager : NSObject

Handles location updates and changes.

Summary

Instance methods

- (void)subscribeForLocationUpdatesWithSubscriptionSettings:
            (nonnull MMKLocationSubscriptionSettings *)subscriptionSettings
                                           locationListener:
                                               (nonnull id<MMKLocationDelegate>)
                                                   locationListener;

Subscribe for location update events

- (void)requestSingleUpdateWithLocationListener:
    (nonnull id<MMKLocationDelegate>)locationListener;

Subscribe to a single location update

- (void)unsubscribeWithLocationListener:
    (nonnull id<MMKLocationDelegate>)locationListener;

Unsubscribe from location update events

- (void)suspend;
Stops updates for all subscriptions until resume() is called

- (void)resume;
Resumes updates stopped by a suspend() call

Instance methods

subscribeForLocationUpdatesWithSubscriptionSettings:locationListener:

- (void)subscribeForLocationUpdatesWithSubscriptionSettings:
            (nonnull MMKLocationSubscriptionSettings *)subscriptionSettings
                                           locationListener:
                                               (nonnull id<MMKLocationDelegate>)
                                                   locationListener;

Subscribe for location update events. If the listener was already subscribed to updates from the LocationManager, subscription settings will be updated.

The class does not retain the object in the 'locationListener' parameter. It is your responsibility to maintain a strong reference to the target object while it is attached to a class.

Parameters

subscriptionSettings

Subscription settings.

locationListener

Location update listener.


requestSingleUpdateWithLocationListener:

- (void)requestSingleUpdateWithLocationListener:
    (nonnull id<MMKLocationDelegate>)locationListener;

Subscribe to a single location update. If the listener was already subscribed to location updates, the previous subscription will be removed.

The class does not retain the object in the 'locationListener' parameter. It is your responsibility to maintain a strong reference to the target object while it is attached to a class.

Parameters

locationListener

Location update listener.


unsubscribeWithLocationListener:

- (void)unsubscribeWithLocationListener:
    (nonnull id<MMKLocationDelegate>)locationListener;

Unsubscribe from location update events. Can be called for either MMKLocationManager::subscribeForLocationUpdatesWithSubscriptionSettings:locationListener: or MMKLocationManager::requestSingleUpdateWithLocationListener:. For MMKLocationManager::requestSingleUpdateWithLocationListener:, if an event was already received, MMKLocationManager::unsubscribeWithLocationListener: does not have any effect. If the listener is already unsubscribed, the method call is ignored.

The class does not retain the object in the 'locationListener' parameter. It is your responsibility to maintain a strong reference to the target object while it is attached to a class.

Parameters

locationListener

Listener passed to either MMKLocationManager::subscribeForLocationUpdatesWithSubscriptionSettings:locationListener: or MMKLocationManager::requestSingleUpdateWithLocationListener:.


suspend

- (void)suspend;

Stops updates for all subscriptions until resume() is called.


resume

- (void)resume;

Resumes updates stopped by a suspend() call.