iOS SDK

API Reference

On This Page

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:].

Example

let layer = MGLRasterStyleLayer(identifier: "clouds", source: source)
layer.rasterOpacity = NSExpression(forConstantValue: 0.5)
mapView.style?.addLayer(layer)

-initWithIdentifier:source:

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.

Accessing the Paint Attributes

maximumRasterBrightness

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, assign, unsafe_unretained, readwrite, null_resettable)
NSExpression *maximumRasterBrightness;

Swift

var maximumRasterBrightness: NSExpression! { get set }

maximumRasterBrightnessTransition

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, assign, unsafe_unretained, readwrite)
MGLTransition maximumRasterBrightnessTransition;

Swift

var maximumRasterBrightnessTransition: MGLTransition { get set }

minimumRasterBrightness

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, assign, unsafe_unretained, readwrite, null_resettable)
NSExpression *minimumRasterBrightness;

Swift

var minimumRasterBrightness: NSExpression! { get set }

minimumRasterBrightnessTransition

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, assign, unsafe_unretained, readwrite)
MGLTransition minimumRasterBrightnessTransition;

Swift

var minimumRasterBrightnessTransition: MGLTransition { get set }

rasterContrast

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, assign, unsafe_unretained, readwrite, null_resettable)
NSExpression *rasterContrast;

Swift

var rasterContrast: NSExpression! { get set }

rasterContrastTransition

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, assign, unsafe_unretained, readwrite)
MGLTransition rasterContrastTransition;

Swift

var rasterContrastTransition: MGLTransition { get set }

rasterFadeDuration

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, assign, unsafe_unretained, readwrite, null_resettable)
NSExpression *rasterFadeDuration;

Swift

var rasterFadeDuration: NSExpression! { get set }

rasterHueRotation

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, assign, unsafe_unretained, readwrite, null_resettable)
NSExpression *rasterHueRotation;

Swift

var rasterHueRotation: NSExpression! { get set }

rasterHueRotationTransition

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, assign, unsafe_unretained, readwrite)
MGLTransition rasterHueRotationTransition;

Swift

var rasterHueRotationTransition: MGLTransition { get set }

rasterOpacity

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, assign, unsafe_unretained, readwrite, null_resettable)
NSExpression *rasterOpacity;

Swift

var rasterOpacity: NSExpression! { get set }

rasterOpacityTransition

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, assign, unsafe_unretained, readwrite)
MGLTransition rasterOpacityTransition;

Swift

var rasterOpacityTransition: MGLTransition { get set }

rasterResamplingMode

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, assign, unsafe_unretained, readwrite, null_resettable)
NSExpression *rasterResamplingMode;

Swift

var rasterResamplingMode: NSExpression! { get set }

rasterSaturation

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, assign, unsafe_unretained, readwrite, null_resettable)
NSExpression *rasterSaturation;

Swift

var rasterSaturation: NSExpression! { get set }

rasterSaturationTransition

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, assign, unsafe_unretained, readwrite)
MGLTransition rasterSaturationTransition;

Swift

var rasterSaturationTransition: MGLTransition { get set }