SimulatedLocationProvider

public class SimulatedLocationProvider : ValidatingLocationProvider

The SimulatedLocationProvider provides simulated location updates to simulate driving on GPX/TTP tracks or route geometry.

Important

This is a Public Preview API. It may be changed or removed at any time.

Lifecycle

  • SimulatedLocationProvider initializer.

    Declaration

    Swift

    public convenience init(delay: Measurement<UnitDuration>?, adjustToCurrentTime: Bool = false)

    Parameters

    delay

    The delay between the location updates. A nil value means the usage of timestamps from TTP files instead.

    adjustToCurrentTime

    Whether to adjust the timestamps to the current time upon update. false will use the timestamps from TTP files instead.

Public properties

  • The last updated location.

    Declaration

    Swift

    public private(set) var location: GeoLocation? { get }
  • Defines the policy for validating incoming location updates.

    Declaration

    Swift

    public var validationPolicy: LocationUpdateValidator
  • Starts generation of location updates.

    Note

    This does not stop any updates provided by other location engines.

    Declaration

    Swift

    public func start()
  • Stops generation of location updates.

    Declaration

    Swift

    public func stop()
  • Important

    This is a Public Preview API. It may be changed or removed at any time.

    Declaration

    Swift

    public func addObserver(_ observer: LocationProviderObservable)
  • Important

    This is a Public Preview API. It may be changed or removed at any time.

    Declaration

    Swift

    public func removeObserver(_ observer: LocationProviderObservable)
  • Updates the simulated engine with an array of coordinates to use as simulated positions.

    Declaration

    Swift

    public func updateCoordinates(_ coordinates: [CLLocationCoordinate2D], interpolate: Bool = true)

    Parameters

    coordinates

    Array of CLLocationCoordinate2Ds.

    interpolate

    Flag to toggle interpolation between coordinates in order to smooth out the simulation.

  • Updates the simulated engine with a path to a GPX file containing a route track.

    Declaration

    Swift

    public func updateCoordinatesFromGPXFile(path: String, interpolate: Bool = false)

    Parameters

    path

    Path to the GPX file that will be used to retrieve the route geometry.

    interpolate

    Flag to toggle interpolation between coordinates in order to smooth out the simulation.

  • Updates the simulated engine with a path to a TTP file containing a route track.

    Note

    SimulatedLocationProvider must be initialized with a nil delay in order to use this method

    Declaration

    Swift

    public func updateLocationsFromTTPFile(path: String, interpolate: Bool = false)

    Parameters

    path

    Path to the TTP file that will be used to retrieve the route geometry.

    interpolate

    Flag to toggle interpolation between coordinates in order to smooth out the simulation.