MGLVectorSource

@interface MGLVectorSource : MGLTileSource

MGLVectorSource is a map content source that supplies tiled vector data in Mapbox Vector Tile format to be shown on the map. The location of and metadata about the tiles are defined either by an option dictionary or by an external file that conforms to the TileJSON specification. A vector source is added to an MGLStyle object along with one or more MGLVectorStyleLayer objects. A vector style layer defines the appearance of any content supplied by the vector source.

Each vector source defined by the style JSON file is represented at runtime by an MGLVectorSource object that you can use to initialize new style layers. You can also add and remove sources dynamically using methods such as -[MGLStyle addSource:] and -[MGLStyle sourceWithIdentifier:].

Within each vector tile, each geometric coordinate must lie between −1 × extent and (extent × 2) − 1, inclusive. Any vector style layer initialized with a vector source must have a non-nil value in its sourceLayerIdentifier property.

Example

let source = MGLVectorSource(identifier: pois, tileURLTemplates: [https://example.com/vector-tiles/{z}/{x}/{y}.mvt], options: [
    .minimumZoomLevel: 9,
    .maximumZoomLevel: 16,
    .attributionInfos: [
        MGLAttributionInfo(title: NSAttributedString(string: © Mapbox), url: URL(string: http://mapbox.com))
    ]
])
mapView.style?.addSource(source)

  • Returns an array of map features loaded by this source, restricted to the given source layers and filtered by the given predicate.

    Each object in the returned array represents a feature for the current style and provides access to attributes specified by the source.

    Features come from tiled vector data that is converted to tiles internally, so feature geometries are clipped at tile boundaries and features may appear duplicated across tiles.

    Declaration

    Objective-C

    - (nonnull NSArray<id<MGLFeature>> *)
    featuresInSourceLayersWithIdentifiers:
        (nonnull NSSet<NSString *> *)sourceLayerIdentifiers
                                predicate:(nullable NSPredicate *)predicate;

    Swift

    func features(sourceLayerIdentifiers: Set

    Parameters

    sourceLayerIdentifiers

    The source layers to include in the query. Only the features contained in these source layers are included in the returned array. At least one source layer is required.

    predicate

    A predicate to filter the returned features.

    Return Value

    An array of objects conforming to the MGLFeature protocol that represent features in the sources used by the current style.