MGLRasterStyleLayer


@interface MGLRasterStyleLayer : MGLForegroundStyleLayer

An MGLRasterStyleLayer is a style layer that renders georeferenced raster imagery on the map, especially raster tiles.

Use a raster style layer to configure the color parameters of raster tiles loaded by an MGLRasterTileSource object or raster images loaded by an MGLImageSource object. For example, you could use a raster style layer to render Mapbox Satellite imagery, a raster tile set uploaded to Mapbox Studio, or a raster map authored in TileMill, the classic Mapbox Editor, or Mapbox Studio Classic.

Raster images may also be used as icons or patterns in a style layer. To register an image for use as an icon or pattern, use the -[MGLStyle setImage:forName:] method. To configure a point annotation’s image, use the MGLAnnotationImage class.

You can access an existing raster style layer using the -[MGLStyle layerWithIdentifier:] method if you know its identifier; otherwise, find it using the MGLStyle.layers property. You can also create a new raster style layer and add it to the style using a method such as -[MGLStyle addLayer:].

See the Add an image and Add raster imagery examples to learn how to add imagery with this style layer.

Example

let layer = MGLRasterStyleLayer(identifier: "clouds", source: source)
layer.rasterOpacity = NSExpression(forConstantValue: 0.5)
mapView.style?.addLayer(layer)
  • Returns a raster style layer initialized with an identifier and source.

    After initializing and configuring the style layer, add it to a map view’s style using the -[MGLStyle addLayer:] or -[MGLStyle insertLayer:belowLayer:] method.

    Declaration

    Objective-C

    - (nonnull instancetype)initWithIdentifier:(nonnull NSString *)identifier
                                        source:(nonnull MGLSource *)source;

    Swift

    init(identifier: String, source: MGLSource)

    Parameters

    identifier

    A string that uniquely identifies the source in the style to which it is added.

    source

    The source from which to obtain the data to style. If the source has not yet been added to the current style, the behavior is undefined.

    Return Value

    An initialized foreground style layer.

  • Increase or reduce the brightness of the image. The value is the maximum brightness.

    The default value of this property is an expression that evaluates to the float 1. Set this property to nil to reset it to the default value.

    This attribute corresponds to the raster-brightness-max layout property in the Mapbox Style Specification.

    You can set this property to an expression containing any of the following:

    • Constant numeric values between 0 and 1 inclusive
    • Predefined functions, including mathematical and string operators
    • Conditional expressions
    • Variable assignments and references to assigned variables
    • Interpolation and step functions applied to the $zoomLevel variable

    This property does not support applying interpolation or step functions to feature attributes.

    Declaration

    Objective-C

    @property (nonatomic, null_resettable) NSExpression *maximumRasterBrightness;

    Swift

    var maximumRasterBrightness: NSExpression! { get set }
  • The transition affecting any changes to this layer’s maximumRasterBrightness property.

    This property corresponds to the raster-brightness-max-transition property in the style JSON file format.

    Declaration

    Objective-C

    @property (nonatomic) MGLTransition maximumRasterBrightnessTransition;

    Swift

    var maximumRasterBrightnessTransition: MGLTransition { get set }
  • Increase or reduce the brightness of the image. The value is the minimum brightness.

    The default value of this property is an expression that evaluates to the float 0. Set this property to nil to reset it to the default value.

    This attribute corresponds to the raster-brightness-min layout property in the Mapbox Style Specification.

    You can set this property to an expression containing any of the following:

    • Constant numeric values between 0 and 1 inclusive
    • Predefined functions, including mathematical and string operators
    • Conditional expressions
    • Variable assignments and references to assigned variables
    • Interpolation and step functions applied to the $zoomLevel variable

    This property does not support applying interpolation or step functions to feature attributes.

    Declaration

    Objective-C

    @property (nonatomic, null_resettable) NSExpression *minimumRasterBrightness;

    Swift

    var minimumRasterBrightness: NSExpression! { get set }
  • The transition affecting any changes to this layer’s minimumRasterBrightness property.

    This property corresponds to the raster-brightness-min-transition property in the style JSON file format.

    Declaration

    Objective-C

    @property (nonatomic) MGLTransition minimumRasterBrightnessTransition;

    Swift

    var minimumRasterBrightnessTransition: MGLTransition { get set }
  • Increase or reduce the contrast of the image.

    The default value of this property is an expression that evaluates to the float 0. Set this property to nil to reset it to the default value.

    You can set this property to an expression containing any of the following:

    • Constant numeric values between −1 and 1 inclusive
    • Predefined functions, including mathematical and string operators
    • Conditional expressions
    • Variable assignments and references to assigned variables
    • Interpolation and step functions applied to the $zoomLevel variable

    This property does not support applying interpolation or step functions to feature attributes.

    Declaration

    Objective-C

    @property (nonatomic, null_resettable) NSExpression *rasterContrast;

    Swift

    var rasterContrast: NSExpression! { get set }
  • The transition affecting any changes to this layer’s rasterContrast property.

    This property corresponds to the raster-contrast-transition property in the style JSON file format.

    Declaration

    Objective-C

    @property (nonatomic) MGLTransition rasterContrastTransition;

    Swift

    var rasterContrastTransition: MGLTransition { get set }
  • Fade duration when a new tile is added.

    This property is measured in milliseconds.

    The default value of this property is an expression that evaluates to the float 300. Set this property to nil to reset it to the default value.

    You can set this property to an expression containing any of the following:

    • Constant numeric values no less than 0
    • Predefined functions, including mathematical and string operators
    • Conditional expressions
    • Variable assignments and references to assigned variables
    • Interpolation and step functions applied to the $zoomLevel variable

    This property does not support applying interpolation or step functions to feature attributes.

    Declaration

    Objective-C

    @property (nonatomic, null_resettable) NSExpression *rasterFadeDuration;

    Swift

    var rasterFadeDuration: NSExpression! { get set }
  • Rotates hues around the color wheel.

    This property is measured in degrees.

    The default value of this property is an expression that evaluates to the float 0. Set this property to nil to reset it to the default value.

    This attribute corresponds to the raster-hue-rotate layout property in the Mapbox Style Specification.

    You can set this property to an expression containing any of the following:

    • Constant numeric values
    • Predefined functions, including mathematical and string operators
    • Conditional expressions
    • Variable assignments and references to assigned variables
    • Interpolation and step functions applied to the $zoomLevel variable

    This property does not support applying interpolation or step functions to feature attributes.

    Declaration

    Objective-C

    @property (nonatomic, null_resettable) NSExpression *rasterHueRotation;

    Swift

    var rasterHueRotation: NSExpression! { get set }
  • The transition affecting any changes to this layer’s rasterHueRotation property.

    This property corresponds to the raster-hue-rotate-transition property in the style JSON file format.

    Declaration

    Objective-C

    @property (nonatomic) MGLTransition rasterHueRotationTransition;

    Swift

    var rasterHueRotationTransition: MGLTransition { get set }
  • The opacity at which the image will be drawn.

    The default value of this property is an expression that evaluates to the float 1. Set this property to nil to reset it to the default value.

    You can set this property to an expression containing any of the following:

    • Constant numeric values between 0 and 1 inclusive
    • Predefined functions, including mathematical and string operators
    • Conditional expressions
    • Variable assignments and references to assigned variables
    • Interpolation and step functions applied to the $zoomLevel variable

    This property does not support applying interpolation or step functions to feature attributes.

    Declaration

    Objective-C

    @property (nonatomic, null_resettable) NSExpression *rasterOpacity;

    Swift

    var rasterOpacity: NSExpression! { get set }
  • The transition affecting any changes to this layer’s rasterOpacity property.

    This property corresponds to the raster-opacity-transition property in the style JSON file format.

    Declaration

    Objective-C

    @property (nonatomic) MGLTransition rasterOpacityTransition;

    Swift

    var rasterOpacityTransition: MGLTransition { get set }
  • The resampling/interpolation method to use for overscaling, also known as texture magnification filter

    The default value of this property is an expression that evaluates to linear. Set this property to nil to reset it to the default value.

    This attribute corresponds to the raster-resampling layout property in the Mapbox Style Specification.

    You can set this property to an expression containing any of the following:

    • Constant MGLRasterResamplingMode values
    • Any of the following constant string values:
      • linear: (Bi)linear filtering interpolates pixel values using the weighted average of the four closest original source pixels creating a smooth but blurry look when overscaled
      • nearest: Nearest neighbor filtering interpolates pixel values using the nearest original source pixel creating a sharp but pixelated look when overscaled
    • Predefined functions, including mathematical and string operators
    • Conditional expressions
    • Variable assignments and references to assigned variables
    • Step functions applied to the $zoomLevel variable

    This property does not support applying interpolation functions to the $zoomLevel variable or applying interpolation or step functions to feature attributes.

    Declaration

    Objective-C

    @property (nonatomic, null_resettable) NSExpression *rasterResamplingMode;

    Swift

    var rasterResamplingMode: NSExpression! { get set }
  • Increase or reduce the saturation of the image.

    The default value of this property is an expression that evaluates to the float 0. Set this property to nil to reset it to the default value.

    You can set this property to an expression containing any of the following:

    • Constant numeric values between −1 and 1 inclusive
    • Predefined functions, including mathematical and string operators
    • Conditional expressions
    • Variable assignments and references to assigned variables
    • Interpolation and step functions applied to the $zoomLevel variable

    This property does not support applying interpolation or step functions to feature attributes.

    Declaration

    Objective-C

    @property (nonatomic, null_resettable) NSExpression *rasterSaturation;

    Swift

    var rasterSaturation: NSExpression! { get set }
  • The transition affecting any changes to this layer’s rasterSaturation property.

    This property corresponds to the raster-saturation-transition property in the style JSON file format.

    Declaration

    Objective-C

    @property (nonatomic) MGLTransition rasterSaturationTransition;

    Swift

    var rasterSaturationTransition: MGLTransition { get set }