MGLVectorStyleLayer

@interface MGLVectorStyleLayer : MGLForegroundStyleLayer

MGLVectorStyleLayer is an abstract superclass for style layers whose content is defined by an MGLShapeSource or MGLVectorTileSource object.

Create instances of MGLCircleStyleLayer, MGLFillStyleLayer, MGLFillExtrusionStyleLayer, MGLHeatmapStyleLayer, MGLLineStyleLayer, and MGLSymbolStyleLayer in order to use MGLVectorStyleLayer‘s properties and methods. Do not create instances of MGLVectorStyleLayer directly, and do not create your own subclasses of this class.

Refining a Style Layer’s Content

sourceLayerIdentifier

Identifier of the layer within the source identified by the sourceIdentifier property from which the receiver obtains the data to style.

Declaration

Objective-C

@property (nonatomic, assign, unsafe_unretained, readwrite, nullable)
NSString *sourceLayerIdentifier;

Swift

var sourceLayerIdentifier: String? { get set }

predicate

The style layer’s predicate.

Use the style layer’s predicate to include only the features in the source layer that satisfy a condition that you define. If the style layer initially comes from the style, its predicate corresponds to the filter property in the style JSON.

See the “Predicates and Expressions” guide for details about the predicate syntax supported by this class.

Example

To filter the layer to include only the features whose index attribute is 5 or 10 and whose ele attribute is at least 1,500, you could create an NSCompoundPredicate along these lines:

let layer = MGLLineStyleLayer(identifier: "contour", source: terrain)
layer.sourceLayerIdentifier = "contours"
layer.predicate = NSPredicate(format: "(index == 5 || index == 10) && CAST(ele, 'NSNumber') >= 1500.0")
mapView.style?.addLayer(layer)

Declaration

Objective-C

@property (nonatomic, assign, unsafe_unretained, readwrite, nullable)
NSPredicate *predicate;

Swift

var predicate: NSPredicate? { get set }
iOS SDK

SDK JS Reference

On this page