@interface MGLVectorStyleLayer : MGLForegroundStyleLayer

MGLVectorStyleLayer is an abstract superclass for style layers whose content is defined by an MGLShapeSource or MGLVectorSource 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.

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



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


    var sourceLayerIdentifier: String? { get set }
  • 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.


    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) && ele >= 1500.0")



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


    var predicate: NSPredicate? { get set }