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
whenMGLMapView
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
whenMGLMapView
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
whenMGLMapView
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 becomesMGLMapView
’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()
-
Starts the generation of location updates that reports the user’s current location.
Declaration
Objective-C
- (void)startUpdatingLocation;
Swift
func startUpdatingLocation()
-
Stops the generation of location updates.
Declaration
Objective-C
- (void)stopUpdatingLocation;
Swift
func stopUpdatingLocation()
-
Specifies a physical device orientation.
Declaration
Objective-C
@required @property (assign, readwrite, nonatomic) CLDeviceOrientation headingOrientation;
Swift
var headingOrientation: CLDeviceOrientation { get set }
-
Starts the generation of heading updates that reports the user’s current hading.
Declaration
Objective-C
- (void)startUpdatingHeading;
Swift
func startUpdatingHeading()
-
Stops the generation of heading updates.
Declaration
Objective-C
- (void)stopUpdatingHeading;
Swift
func stopUpdatingHeading()
-
Dissmisses immediately the heading calibration view from screen.
Declaration
Objective-C
- (void)dismissHeadingCalibrationDisplay;
Swift
func dismissHeadingCalibrationDisplay()