RouteTrafficIncidentStyle

public struct RouteTrafficIncidentStyle

Style configuration for on-route traffic incidents. During instance construction, certain input values are checked against the range of values expected for that field (e.g., width values must be non-negative).

Default assets such as fonts and icons are bundled into the framework. You can provide custom icons in propertiesByMagnitudeOfDelay

Important

This is a Public Preview API. It may be changed or removed at any time.
  • A typealias for Defaults, ensuring backward compatibility.

    Declaration

    Swift

    public typealias Default = Defaults
  • Contains default styling properties for route traffic visualization.

    See more

    Declaration

    Swift

    public enum Defaults
  • Initializes the style configuration for on-route traffic.

    Throws

    If any is missing and not all other magnitudes of delay are provided, the initializer will throw RouteStyleError.

    Declaration

    Swift

    public init(
        lineWidths: [Double: Double] = Defaults.lineWidths,
        lineOutlineWidths: [Double: Double] = Defaults.lineOutlineWidths,
        lineStartCapType: LineCapType = Defaults.lineStartCapType,
        lineEndCapType: LineCapType = Defaults.lineEndCapType,
        lineJointType: LineJoinType = Defaults.lineJointType,
        markerLabelFontURL: String = Defaults.Asset.markerLabelFontURI,
        markerLabelTextSize: Double = Defaults.markerLabelTextSize,
        markerLabelTextOutlineWidth: Double = Defaults.markerLabelTextOutlineWidth,
        markerLabelTextOffset: MarkerLabelOptions.TextOffset = Defaults.markerLabelTextOffset,
        markerLabelTextAnchoring: TextAnchoring = Defaults.markerLabelTextAnchoring,
        markerVisibilityByCategory: [TrafficIncidentCategory: MarkerVisibility] = Defaults
            .markerVisibilityByCategory,
        propertiesByMagnitudeOfDelay: [MagnitudeOfDelayKey: MagnitudeOfDelayProperties] = Defaults.propertiesByMagnitudeOfDelay
    ) throws

    Parameters

    lineWidths

    The line width of the on-route traffic lines. This parameter must be a non-empty dictionary containing non-negative values for both the width and the zoom level where that width is to be used.

    lineOutlineWidths

    The outline width of the on-route traffic lines. This parameter must be a non-empty dictionary containing non-negative values for both the width and the zoom level where that width is to be used.

    lineStartCapType

    The on-route traffic line start cap.

    lineEndCapType

    The on-route traffic line end cap.

    lineJointType

    The on-route traffic line joint type.

    markerLabelFontURL

    The URL of the font for the label text in the traffic marker.

    markerLabelTextSize

    The size of the label text in the traffic marker.

    markerLabelTextOutlineWidth

    The width of the outline of the label text in the traffic marker.

    markerLabelTextOffset

    The offset that will be used to position the label in the traffic marker.

    markerLabelTextAnchoring

    The anchoring that determines how the label is positioned on the traffic marker.

    markerVisibilityByCategory

    The visibility of traffic incident markers by category. This dictionary does not have to contain keys of all possible categories. If a category is missing in the dictionary, markers of that category will not be displayed.

    Important

    Control of traffic incident marker visibility is not implemented yet.

    propertiesByMagnitudeOfDelay

    Style properties for traffic incidents by magnitude of delay. This dictionary may not contain keys for all possible magnitudes of delay. If a magnitude of delay is missing in the dictionary, the style for any is used.

  • The on-route traffic line end cap.

    Declaration

    Swift

    public let lineEndCapType: LineCapType
  • The on-route traffic line joint type.

    Declaration

    Swift

    public let lineJointType: LineJoinType
  • The outline line width of on-route traffic lines. This parameter must be a non-empty dictionary containing non-negative values for both the width and the zoom level where that width is used.

    Declaration

    Swift

    public let lineOutlineWidths: [Double : Double]
  • The on-route traffic line start cap.

    Declaration

    Swift

    public let lineStartCapType: LineCapType
  • The line widths of on-route traffic lines. This parameter must be a non-empty dictionary containing non-negative values for both the width and the zoom level where that width is used.

    Declaration

    Swift

    public let lineWidths: [Double : Double]
  • The traffic incident style properties that have specific values per magnitude of delay. Traffic incidents may have different magnitudes of delay associated with them: unknown, minor, moderate, major, or indefinite. PropertiesByMagnitudeOfDelay stores traffic incident style properties whose specific values depend on the magnitude of delay.

    Important

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

    Declaration

    Swift

    public struct MagnitudeOfDelayProperties
  • The URL of the font for the label text in the traffic marker.

    Declaration

    Swift

    public let markerLabelFontURL: String
  • The anchoring that determines how the label is positioned on the traffic marker.

    Declaration

    Swift

    public let markerLabelTextAnchoring: TextAnchoring
  • The offset that will be used to position the label in the traffic marker.

    Declaration

    Swift

    public let markerLabelTextOffset: MarkerLabelOptions.TextOffset
  • The width of the outline of the label text in the traffic marker.

    Declaration

    Swift

    public let markerLabelTextOutlineWidth: Double
  • The size of the label text in the traffic marker.

    Declaration

    Swift

    public let markerLabelTextSize: Double
  • Traffic incident marker visibility by category. That dictionary does not have to contain keys of all possible categories. If a category is missing in the dictionary, markers of that category will not be displayed.

    Declaration

    Swift

    public let markerVisibilityByCategory: [TrafficIncidentCategory : MarkerVisibility]
  • Style properties for traffic incidents by magnitude of delay. This dictionary may not contain keys for all possible magnitudes of delay. If a magnitude of delay is missing in the dictionary, style for MagnitudeOfDelayKey.any is used.

    Declaration

    Swift

    public let propertiesByMagnitudeOfDelay: [MagnitudeOfDelayKey : MagnitudeOfDelayProperties]