DingiVectorStyleLayer
@interface DingiVectorStyleLayer : DingiForegroundStyleLayer
DingiVectorStyleLayer
is an abstract superclass for style layers whose content
is defined by an DingiShapeSource
or DingiVectorTileSource
object.
Create instances of DingiCircleStyleLayer
, DingiFillStyleLayer
,
DingiFillExtrusionStyleLayer
, DingiHeatmapStyleLayer
, DingiLineStyleLayer
, and
DingiSymbolStyleLayer
in order to use DingiVectorStyleLayer
‘s properties and
methods. Do not create instances of DingiVectorStyleLayer
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.Declaration
Objective-C
@property (assign, readwrite, nonatomic, nullable) NSString *sourceLayerIdentifier;
Swift
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.
Example
To filter the layer to include only the features whose
index
attribute is 5 or 10 and whoseele
attribute is at least 1,500, you could create anNSCompoundPredicate
along these lines:let layer = DingiLineStyleLayer(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 (assign, readwrite, nonatomic, nullable) NSPredicate *predicate;
Swift
var predicate: NSPredicate? { get set }