PassiveLocationProvider
open class PassiveLocationProvider : NSObject, LocationProvider
extension PassiveLocationProvider: PassiveLocationManagerDelegate
An object that notifies a map view when the user’s location changes, minimizing the noise that normally accompanies location updates from a CLLocationManager
object.
Unlike Router
classes such as RouteController
and LegacyRouteController
, this class operates without a predefined route, matching the user’s location to the road network at large. If your application displays a MapView
before starting turn-by-turn navigation, call LocationManager.overrideLocationProvider(with:)
to override default location provider so that the map view always shows the location snapped to the road network. For example, use this class to show the user’s current location as they wander around town.
This class depends on PassiveLocationManager
to detect the user’s location as it changes. If you want location updates but do not need to display them on a map and do not want a dependency on the MapboxNavigation module, you can use PassiveLocationManager
instead of this class.
-
Initializes the location provider with the given location manager.
Declaration
Swift
public init(locationManager: PassiveLocationManager)
Parameters
locationManager
A location manager that detects the user’s location as it changes.
-
The location provider’s delegate.
Declaration
Swift
public weak var delegate: LocationProviderDelegate?
-
Declaration
Swift
public func setDelegate(_ delegate: LocationProviderDelegate)
-
The location provider’s location manager, which detects the user’s location as it changes.
Declaration
Swift
public let locationManager: PassiveLocationManager
-
Declaration
Swift
public var locationProviderOptions: LocationOptions
-
Declaration
Swift
public var heading: CLHeading? { get }
-
Declaration
Swift
public func startUpdatingLocation()
-
Declaration
Swift
public func stopUpdatingLocation()
-
Declaration
Swift
public var headingOrientation: CLDeviceOrientation { get set }
-
Declaration
Swift
public func startUpdatingHeading()
-
Declaration
Swift
public func stopUpdatingHeading()
-
Declaration
Swift
public func dismissHeadingCalibrationDisplay()
-
Declaration
Swift
public var authorizationStatus: CLAuthorizationStatus { get }
-
Declaration
Swift
public func requestAlwaysAuthorization()
-
Declaration
Swift
public func requestWhenInUseAuthorization()
-
Declaration
Swift
public var accuracyAuthorization: CLAccuracyAuthorization { get }
-
Declaration
Swift
@available(iOS 14.0, *) public func requestTemporaryFullAccuracyAuthorization(withPurposeKey purposeKey: String)
-
Declaration
Swift
@available(iOS 14.0, *) public func passiveLocationManagerDidChangeAuthorization(_ manager: PassiveLocationManager)
-
Declaration
Swift
public func passiveLocationManager(_ manager: PassiveLocationManager, didUpdateLocation location: CLLocation, rawLocation: CLLocation)
-
Declaration
Swift
public func passiveLocationManager(_ manager: PassiveLocationManager, didUpdateHeading newHeading: CLHeading)
-
Declaration
Swift
public func passiveLocationManager(_ manager: PassiveLocationManager, didFailWithError error: Error)