MGLLocationManager

@protocol MGLLocationManager <NSObject>

The MGLLocationManager protocol defines a set of methods that a class must implement in order to serve as the location manager of an MGLMapView. A location manager is responsible for notifying the map view about location-related events, such as a change in the user’s location. This protocol is similar to the Core Location framework’s CLLocationManager class, but your implementation does not need to be based on CLLocationManager.

To receive location updates from an object that conforms to the MGLLocationManager protocol, use the optional methods available in the MGLLocationManagerDelegate protocol.

  • Specifies the minimum distance (measured in meters) a device must move horizontally before a location update is generated.

    The default value of this property is kCLDistanceFilterNone when MGLMapView uses its default location manager.

    See

    CLLocationManager.distanceFilter

    Declaration

    Objective-C

    - (CLLocationDistance)distanceFilter;

    Swift

    optional func distanceFilter() -> CLLocationDistance
  • Sets the minimum update distance in meters.

    Declaration

    Objective-C

    - (void)setDistanceFilter:(CLLocationDistance)distanceFilter;

    Swift

    optional func setDistanceFilter(_ distanceFilter: CLLocationDistance)

    Parameters

    distanceFilter

    The distance filter in meters.

  • Specifies the accuracy of the location data.

    The default value is kCLLocationAccuracyBest when MGLMapView uses its default location manager.

    Note

    Determining a location with greater accuracy requires more time and more power.

    See

    CLLocationManager.desiredAccuracy

    Declaration

    Objective-C

    - (CLLocationAccuracy)desiredAccuracy;

    Swift

    optional func desiredAccuracy() -> CLLocationAccuracy
  • Sets the desired location accuracy.

    Declaration

    Objective-C

    - (void)setDesiredAccuracy:(CLLocationAccuracy)desiredAccuracy;

    Swift

    optional func setDesiredAccuracy(_ desiredAccuracy: CLLocationAccuracy)

    Parameters

    desiredAccuracy

    The desired location accuracy.

  • Specifies the type of user activity associated with the location updates.

    The location manager uses this property as a cue to determine when location updates may be automatically paused.

    The default value is CLActivityTypeOther when MGLMapView uses its default location manager.

    See

    CLLocationManager.activityType

    Declaration

    Objective-C

    - (CLActivityType)activityType;

    Swift

    optional func activityType() -> CLActivityType
  • Sets the type of user activity associated with the location updates.

    Declaration

    Objective-C

    - (void)setActivityType:(CLActivityType)activityType;

    Swift

    optional func setActivityType(_ activityType: CLActivityType)

    Parameters

    activityType

    The location’s manager activity type.

  • The delegate to receive location updates.

    Do not set the location manager’s delegate yourself. MGLMapView sets this property after the location manager becomes MGLMapView’s location manager.

    Declaration

    Objective-C

    @required
    @property (readwrite, nonatomic)
        id<MGLLocationManagerDelegate> _Nullable delegate;

    Swift

    weak var delegate: MGLLocationManagerDelegate? { get set }
  • Returns the current localization authorization status.

    See

    +[CLLocationManger authorizationStatus]

    Declaration

    Objective-C

    @required
    @property (readonly, nonatomic) CLAuthorizationStatus authorizationStatus;

    Swift

    var authorizationStatus: CLAuthorizationStatus { get }
  • Requests permission to use the location services whenever the app is running.

    Declaration

    Objective-C

    - (void)requestAlwaysAuthorization;

    Swift

    func requestAlwaysAuthorization()
  • Requests permission to use the location services while the app is in the foreground.

    Declaration

    Objective-C

    - (void)requestWhenInUseAuthorization;

    Swift

    func requestWhenInUseAuthorization()