PolylineAnnotationGroup

@_documentation(visibility: public)
@_spi(Experimental)
public struct PolylineAnnotationGroup<Data, ID> : PrimitiveMapContent where Data : RandomAccessCollection, ID : Hashable

Displays a group of polyline annotations.

Always prefer to use annotation group over individual annotation if more than one annotation of the same type is displayed. The annotation group is usually more performant, since only one underlying layer is used to draw multiple annotations.

Annotation group allows to configure group-related options, such as clustering (only for point annotations) and others.

  • Undocumented

    Declaration

    Swift

    @_documentation(visibility: public)
    public init(_ data: Data, id: KeyPath<Data.Element, ID>, content: @escaping (Data.Element) -> PolylineAnnotation)
  • Undocumented

    Declaration

    Swift

    @_documentation(visibility: public)
    public init(_ data: Data, content: @escaping (Data.Element) -> PolylineAnnotation) where ID == Data.Element.ID, Data.Element : Identifiable
  • The display of line endings.

    Declaration

    Swift

    @_documentation(visibility: public)
    public func lineCap(_ newValue: LineCap) -> PolylineAnnotationGroup<Data, ID>
  • Used to automatically convert miter joins to bevel joins for sharp angles.

    Declaration

    Swift

    @_documentation(visibility: public)
    public func lineMiterLimit(_ newValue: Double) -> PolylineAnnotationGroup<Data, ID>
  • Used to automatically convert round joins to miter joins for shallow angles.

    Declaration

    Swift

    @_documentation(visibility: public)
    public func lineRoundLimit(_ newValue: Double) -> PolylineAnnotationGroup<Data, ID>
  • Specifies the lengths of the alternating dashes and gaps that form the dash pattern. The lengths are later scaled by the line width. To convert a dash length to pixels, multiply the length by the current line width. Note that GeoJSON sources with lineMetrics: true specified won’t render dashed lines to the expected scale. Also note that zoom-dependent expressions will be evaluated only at integer zoom levels.

    Declaration

    Swift

    @_documentation(visibility: public)
    public func lineDasharray(_ newValue: [Double]) -> PolylineAnnotationGroup<Data, ID>
  • Decrease line layer opacity based on occlusion from 3D objects. Value 0 disables occlusion, value 1 means fully occluded.

    Declaration

    Swift

    @_documentation(visibility: public)
    public func lineDepthOcclusionFactor(_ newValue: Double) -> PolylineAnnotationGroup<Data, ID>
  • Controls the intensity of light emitted on the source features. This property works only with 3D light, i.e. when lights root property is defined.

    Declaration

    Swift

    @_documentation(visibility: public)
    public func lineEmissiveStrength(_ newValue: Double) -> PolylineAnnotationGroup<Data, ID>
  • The geometry’s offset. Values are [x, y] where negatives indicate left and up, respectively.

    Declaration

    Swift

    @_documentation(visibility: public)
    public func lineTranslate(_ newValue: [Double]) -> PolylineAnnotationGroup<Data, ID>
  • Controls the frame of reference for line-translate.

    Declaration

    Swift

    @_documentation(visibility: public)
    public func lineTranslateAnchor(_ newValue: LineTranslateAnchor) -> PolylineAnnotationGroup<Data, ID>
  • The line part between [trim-start, trim-end] will be marked as transparent to make a route vanishing effect. The line trim-off offset is based on the whole line range [0.0, 1.0].

    Declaration

    Swift

    @_documentation(visibility: public)
    public func lineTrimOffset(_ newValue: [Double]) -> PolylineAnnotationGroup<Data, ID>
  • Defines relative position of the layers drawing the annotations managed by the current group.

    Note

    Layer position isn’t updatable. Only the first value passed to this function set will take effect.

    Declaration

    Swift

    @_documentation(visibility: public)
    public func layerPosition(_ newValue: LayerPosition) -> PolylineAnnotationGroup<Data, ID>