ManeuverModeConfiguration

public struct ManeuverModeConfiguration

Configuration that defines how TrackingCameraBehavior reacts to nearby maneuvers.

On each frame, and based on the current position, the availability of its functional road class, and the availability of maneuver data for at least one adjacent maneuver, the camera checks for a match against the TrackingCameraBehavior.ManeuverModeConfiguration.maneuverRules in the order they are listed. If a match is found, subsequent rules are not checked. If no match is found, if inputs are unavailable, or if the matched rule has nil options, the camera does not react.

  • Ordered list of maneuver rules. Rules are evaluated in order; the first matching rule determines the camera behavior. If empty, this configuration is not valid and the camera does not react to maneuvers.

    Declaration

    Swift

    public var maneuverRules: [TrackingCameraBehavior.ManeuverRule]
  • Maximum angle difference in degrees between the current bearing and the bearing to the maneuver point. If the difference exceeds this threshold, the camera does not turn towards the maneuver. Valid range is 0.0 to 180.0. Defaults to 30.0.

    Declaration

    Swift

    public var bearingThresholdInDegrees: Double
  • Creates a new instance.

    Note: This is a beta release of this feature, so there could be a few bugs and unexpected behaviors. Related APIs may change for new releases without a deprecation process.

    Declaration

    Swift

    public init(maneuverRules: [TrackingCameraBehavior.ManeuverRule] = [], bearingThresholdInDegrees: Double = 30.0)