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:]
.
Related examples
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 tonil
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 (assign, readwrite, 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 (assign, readwrite, 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 tonil
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 (assign, readwrite, 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 (assign, readwrite, 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 tonil
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 (assign, readwrite, 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 (assign, readwrite, 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 tonil
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 (assign, readwrite, 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 tonil
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 (assign, readwrite, 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 (assign, readwrite, 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 tonil
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 (assign, readwrite, 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 (assign, readwrite, 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 tonil
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 overscalednearest
: 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 (assign, readwrite, nonatomic, null_resettable) NSExpression *rasterResamplingMode;
Swift
var rasterResamplingMode: NSExpression! { get set }
- Constant
-
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 tonil
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 (assign, readwrite, 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 (assign, readwrite, nonatomic) MGLTransition rasterSaturationTransition;
Swift
var rasterSaturationTransition: MGLTransition { get set }