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 MapTiler Satellite imagery, a raster tile set uploaded to MapTiler Clooud, or a raster map authored in MapTiler Engine.
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 GL 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 GL 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 GL 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 GL 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 (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 }
iOS SDK
Examples
SDK JS Reference
- Annotations
- Appendices
- NSExpression(MGLAdditions)
- NSValue(MGLAdditions)
- NSValue(MGLCircleStyleLayerAdditions)
- NSValue(MGLFillExtrusionStyleLayerAdditions)
- NSValue(MGLFillStyleLayerAdditions)
- NSValue(MGLHillshadeStyleLayerAdditions)
- NSValue(MGLLineStyleLayerAdditions)
- NSValue(MGLRasterStyleLayerAdditions)
- NSValue(MGLSymbolStyleLayerAdditions)
- MGLAccountManager
- MGLAnnotationImage
- MGLAnnotationView
- MGLAttributedExpression
- MGLAttributionInfo
- MGLBackgroundStyleLayer
- MGLCircleStyleLayer
- MGLClockDirectionFormatter
- MGLCompassButton
- MGLCompassDirectionFormatter
- MGLComputedShapeSource
- MGLCoordinateFormatter
- MGLDistanceFormatter
- MGLFillExtrusionStyleLayer
- MGLFillStyleLayer
- MGLForegroundStyleLayer
- MGLHeatmapStyleLayer
- MGLHillshadeStyleLayer
- MGLImageSource
- MGLLight
- MGLLineStyleLayer
- MGLLoggingConfiguration
- MGLMapCamera
- MGLMapSnapshot
- MGLMapSnapshotOptions
- MGLMapSnapshotOverlay
- MGLMapSnapshotter
- MGLMapView
- MGLMultiPoint
- MGLMultiPolygon
- MGLMultiPolyline
- MGLNetworkConfiguration
- MGLOfflinePack
- MGLOfflineStorage
- MGLPointAnnotation
- MGLPointCollection
- MGLPolygon
- MGLPolyline
- MGLRasterStyleLayer
- MGLRasterTileSource
- MGLShape
- MGLShapeCollection
- MGLShapeOfflineRegion
- MGLShapeSource
- MGLSource
- MGLStyle
- MGLStyleLayer
- MGLSymbolStyleLayer
- MGLTilePyramidOfflineRegion
- MGLTileSource
- MGLUserLocation
- MGLUserLocationAnnotationView
- MGLUserLocationAnnotationViewStyle
- MGLVectorStyleLayer
- MGLVectorTileSource
- MGLAnnotationVerticalAlignment
- MGLAnnotationViewDragState
- MGLAttributionInfoStyle
- MGLCirclePitchAlignment
- MGLCircleScaleAlignment
- MGLCircleTranslationAnchor
- MGLDEMEncoding
- MGLErrorCode
- MGLFillExtrusionTranslationAnchor
- MGLFillTranslationAnchor
- MGLHillshadeIlluminationAnchor
- MGLIconAnchor
- MGLIconPitchAlignment
- MGLIconRotationAlignment
- MGLIconTextFit
- MGLIconTranslationAnchor
- MGLLightAnchor
- MGLLineCap
- MGLLineJoin
- MGLLineTranslationAnchor
- MGLLoggingLevel
- MGLMapDebugMaskOptions
- MGLOfflinePackState
- MGLOrnamentPosition
- MGLOrnamentVisibility
- MGLRasterResamplingMode
- MGLResourceKind
- MGLSymbolPlacement
- MGLSymbolZOrder
- MGLTextAnchor
- MGLTextJustification
- MGLTextPitchAlignment
- MGLTextRotationAlignment
- MGLTextTransform
- MGLTextTranslationAnchor
- MGLTextWritingMode
- MGLTileCoordinateSystem
- MGLUserTrackingMode
- Formatters
- Geometry
- Location Updates
- Maps
- Offline Maps
- Other Categories
- Other Classes
- Other Constants
- Other Enumerations
- Other Functions
- Other Protocols
- Other Structures
- Other Type Definitions
- Primitive Shapes
- MGLAnnotation
- MGLCalloutView
- MGLCalloutViewDelegate
- MGLCluster
- MGLComputedShapeSourceDataSource
- MGLFeature
- MGLLocationManager
- MGLLocationManagerDelegate
- MGLMapSnapshotterDelegate
- MGLMapViewDelegate
- MGLOfflineRegion
- MGLOfflineStorageDelegate
- MGLOverlay
- MGLStylable
- MGLCoordinateBounds
- MGLCoordinateQuad
- MGLCoordinateSpan
- MGLOfflinePackProgress
- MGLSphericalPosition
- MGLTransition
- Style Content
- Style Layers
- Style Primitives
- Styling the Map
- MGLCoordinateBounds
- MGLCoordinateQuad
- MGLCoordinateSpan
- MGLOfflinePackProgress
- MGLSphericalPosition
- MGLTransition
- User Interaction
- Customizing Fonts
- Information for Style Authors
- Gesture Recognizers
- Info.plist Keys
- Migrating to Expressions
- Predicates and expressions
- Tile URL Templates
- Working with GeoJSON Data