FillExtrusionLayer

public struct FillExtrusionLayer : Layer

An extruded (3D) polygon.

  • id

    Unique layer name

    Declaration

    Swift

    public var id: String
  • Rendering type of this layer.

    Declaration

    Swift

    public let type: LayerType
  • An expression specifying conditions on source features. Only features that match the filter are displayed.

    Declaration

    Swift

    public var filter: Expression?
  • Name of a source description to be used for this layer. Required for all layer types except BackgroundLayer, SkyLayer, and LocationIndicatorLayer.

    Declaration

    Swift

    public var source: String?
  • Layer to use from a vector tile source.

    Required for vector tile sources. Prohibited for all other source types, including GeoJSON sources.

    Declaration

    Swift

    public var sourceLayer: String?
  • The slot this layer is assigned to. If specified, and a slot with that name exists, it will be placed at that position in the layer order.

    Declaration

    Swift

    public var slot: String?
  • The minimum zoom level for the layer. At zoom levels less than the minzoom, the layer will be hidden.

    Declaration

    Swift

    public var minZoom: Double?
  • The maximum zoom level for the layer. At zoom levels equal to or greater than the maxzoom, the layer will be hidden.

    Declaration

    Swift

    public var maxZoom: Double?
  • Whether this layer is displayed.

    Declaration

    Swift

    public var visibility: Value<Visibility>
  • Radius of a fill extrusion edge in meters. If not zero, rounds extrusion edges for a smoother appearance.

    Declaration

    Swift

    @_documentation(visibility: public)
    @_spi(Experimental)
    public var fillExtrusionEdgeRadius: Value<Double>?
  • Provides a control to futher fine-tune the look of the ambient occlusion on the ground beneath the extruded buildings. Lower values give the effect a more solid look while higher values make it smoother. This property works only with 3D light, i.e. when lights root property is defined.

    Declaration

    Swift

    @_documentation(visibility: public)
    @_spi(Experimental)
    public var fillExtrusionAmbientOcclusionGroundAttenuation: Value<Double>?
  • Declaration

    Swift

    @_documentation(visibility: public)
    @_spi(Experimental)
    public var fillExtrusionAmbientOcclusionGroundAttenuationTransition: StyleTransition?
  • The extent of the ambient occlusion effect on the ground beneath the extruded buildings in meters. This property works only with 3D light, i.e. when lights root property is defined.

    Declaration

    Swift

    @_documentation(visibility: public)
    @_spi(Experimental)
    public var fillExtrusionAmbientOcclusionGroundRadius: Value<Double>?
  • Declaration

    Swift

    @_documentation(visibility: public)
    @_spi(Experimental)
    public var fillExtrusionAmbientOcclusionGroundRadiusTransition: StyleTransition?
  • Controls the intensity of shading near ground and concave angles between walls. Default value 0.0 disables ambient occlusion and values around 0.3 provide the most plausible results for buildings.

    Declaration

    Swift

    public var fillExtrusionAmbientOcclusionIntensity: Value<Double>?
  • Transition options for fillExtrusionAmbientOcclusionIntensity.

    Declaration

    Swift

    public var fillExtrusionAmbientOcclusionIntensityTransition: StyleTransition?
  • Shades area near ground and concave angles between walls where the radius defines only vertical impact. Default value 3.0 corresponds to height of one floor and brings the most plausible results for buildings. This property works only with legacy light. When 3D light is enabled fill-extrusion-ambient-occlusion-wall-radius and fill-extrusion-ambient-occlusion-ground-radius are used instead.

    Declaration

    Swift

    public var fillExtrusionAmbientOcclusionRadius: Value<Double>?
  • Transition options for fillExtrusionAmbientOcclusionRadius.

    Declaration

    Swift

    public var fillExtrusionAmbientOcclusionRadiusTransition: StyleTransition?
  • Shades area near ground and concave angles between walls where the radius defines only vertical impact. Default value 3.0 corresponds to height of one floor and brings the most plausible results for buildings. This property works only with 3D light, i.e. when lights root property is defined.

    Declaration

    Swift

    @_documentation(visibility: public)
    @_spi(Experimental)
    public var fillExtrusionAmbientOcclusionWallRadius: Value<Double>?
  • Transition options for fillExtrusionAmbientOcclusionWallRadius.

    Declaration

    Swift

    @_documentation(visibility: public)
    @_spi(Experimental)
    public var fillExtrusionAmbientOcclusionWallRadiusTransition: StyleTransition?
  • The height with which to extrude the base of this layer. Must be less than or equal to fill-extrusion-height.

    Declaration

    Swift

    public var fillExtrusionBase: Value<Double>?
  • Transition options for fillExtrusionBase.

    Declaration

    Swift

    public var fillExtrusionBaseTransition: StyleTransition?
  • The base color of the extruded fill. The extrusion’s surfaces will be shaded differently based on this color in combination with the root light settings. If this color is specified as rgba with an alpha component, the alpha component will be ignored; use fill-extrusion-opacity to set layer opacity.

    Declaration

    Swift

    public var fillExtrusionColor: Value<StyleColor>?
  • Transition options for fillExtrusionColor.

    Declaration

    Swift

    public var fillExtrusionColorTransition: StyleTransition?
  • This parameter defines the range for the fade-out effect before an automatic content cutoff on pitched map views. The automatic cutoff range is calculated according to the minimum required zoom level of the source and layer. The fade range is expressed in relation to the height of the map view. A value of 1.0 indicates that the content is faded to the same extent as the map’s height in pixels, while a value close to zero represents a sharp cutoff. When the value is set to 0.0, the cutoff is completely disabled. Note: The property has no effect on the map if terrain is enabled.

    Declaration

    Swift

    public var fillExtrusionCutoffFadeRange: Value<Double>?
  • The color of the flood light effect on the walls of the extruded buildings. This property works only with 3D light, i.e. when lights root property is defined.

    Declaration

    Swift

    @_documentation(visibility: public)
    @_spi(Experimental)
    public var fillExtrusionFloodLightColor: Value<StyleColor>?
  • Transition options for fillExtrusionFloodLightColor.

    Declaration

    Swift

    @_documentation(visibility: public)
    @_spi(Experimental)
    public var fillExtrusionFloodLightColorTransition: StyleTransition?
  • Provides a control to futher fine-tune the look of the flood light on the ground beneath the extruded buildings. Lower values give the effect a more solid look while higher values make it smoother. This property works only with 3D light, i.e. when lights root property is defined.

    Declaration

    Swift

    @_documentation(visibility: public)
    @_spi(Experimental)
    public var fillExtrusionFloodLightGroundAttenuation: Value<Double>?
  • Declaration

    Swift

    @_documentation(visibility: public)
    @_spi(Experimental)
    public var fillExtrusionFloodLightGroundAttenuationTransition: StyleTransition?
  • The extent of the flood light effect on the ground beneath the extruded buildings in meters. This property works only with 3D light, i.e. when lights root property is defined.

    Declaration

    Swift

    @_documentation(visibility: public)
    @_spi(Experimental)
    public var fillExtrusionFloodLightGroundRadius: Value<Double>?
  • Transition options for fillExtrusionFloodLightGroundRadius.

    Declaration

    Swift

    @_documentation(visibility: public)
    @_spi(Experimental)
    public var fillExtrusionFloodLightGroundRadiusTransition: StyleTransition?
  • The intensity of the flood light color. This property works only with 3D light, i.e. when lights root property is defined.

    Declaration

    Swift

    @_documentation(visibility: public)
    @_spi(Experimental)
    public var fillExtrusionFloodLightIntensity: Value<Double>?
  • Transition options for fillExtrusionFloodLightIntensity.

    Declaration

    Swift

    @_documentation(visibility: public)
    @_spi(Experimental)
    public var fillExtrusionFloodLightIntensityTransition: StyleTransition?
  • The extent of the flood light effect on the walls of the extruded buildings in meters. This property works only with 3D light, i.e. when lights root property is defined.

    Declaration

    Swift

    @_documentation(visibility: public)
    @_spi(Experimental)
    public var fillExtrusionFloodLightWallRadius: Value<Double>?
  • Transition options for fillExtrusionFloodLightWallRadius.

    Declaration

    Swift

    @_documentation(visibility: public)
    @_spi(Experimental)
    public var fillExtrusionFloodLightWallRadiusTransition: StyleTransition?
  • The height with which to extrude this layer.

    Declaration

    Swift

    public var fillExtrusionHeight: Value<Double>?
  • Transition options for fillExtrusionHeight.

    Declaration

    Swift

    public var fillExtrusionHeightTransition: StyleTransition?
  • The opacity of the entire fill extrusion layer. This is rendered on a per-layer, not per-feature, basis, and data-driven styling is not available.

    Declaration

    Swift

    public var fillExtrusionOpacity: Value<Double>?
  • Transition options for fillExtrusionOpacity.

    Declaration

    Swift

    public var fillExtrusionOpacityTransition: StyleTransition?
  • Name of image in sprite to use for drawing images on extruded fills. For seamless patterns, image width and height must be a factor of two (2, 4, 8, …, 512). Note that zoom-dependent expressions will be evaluated only at integer zoom levels.

    Declaration

    Swift

    public var fillExtrusionPattern: Value<ResolvedImage>?
  • Indicates whether top edges should be rounded when fill-extrusion-edge-radius has a value greater than 0. If false, rounded edges are only applied to the sides. Default is true.

    Declaration

    Swift

    @_documentation(visibility: public)
    @_spi(Experimental)
    public var fillExtrusionRoundedRoof: Value<Bool>?
  • The geometry’s offset. Values are [x, y] where negatives indicate left and up (on the flat plane), respectively.

    Declaration

    Swift

    public var fillExtrusionTranslate: Value<[Double]>?
  • Transition options for fillExtrusionTranslate.

    Declaration

    Swift

    public var fillExtrusionTranslateTransition: StyleTransition?
  • Controls the frame of reference for fill-extrusion-translate.

    Declaration

    Swift

    public var fillExtrusionTranslateAnchor: Value<FillExtrusionTranslateAnchor>?
  • Whether to apply a vertical gradient to the sides of a fill-extrusion layer. If true, sides will be shaded slightly darker farther down.

    Declaration

    Swift

    public var fillExtrusionVerticalGradient: Value<Bool>?
  • A global multiplier that can be used to scale base, height, AO, and flood light of the fill extrusions.

    Declaration

    Swift

    @_documentation(visibility: public)
    @_spi(Experimental)
    public var fillExtrusionVerticalScale: Value<Double>?
  • Transition options for fillExtrusionVerticalScale.

    Declaration

    Swift

    @_documentation(visibility: public)
    @_spi(Experimental)
    public var fillExtrusionVerticalScaleTransition: StyleTransition?
  • Undocumented

    Declaration

    Swift

    public init(id: String, source: String)
  • Declaration

    Swift

    public func encode(to encoder: Encoder) throws
  • Declaration

    Swift

    public init(from decoder: Decoder) throws