Я пытаюсь настроить источник векторных листов после завершения загрузки вида карты:
func mapView(_ mapView: MGLMapView, didFinishLoading style: MGLStyle) {
let urlTemplate = "http://a.tiles.mapbox.com/v4/mapbox.mapbox-streets-v7/{z}/{x}/{y}.mvt?access_token=my_access_token"
let source = MGLVectorTileSource(identifier: "source",
tileURLTemplates: [urlTemplate],
options: nil)
mapView.style?.addSource(source)
let layer = MGLFillStyleLayer(identifier: "layer", source: source)
layer.sourceLayerIdentifier = "source"
mapView.style?.addLayer(layer)
}
Вот что я использую для нахождения функций:
func mapView(_ mapView: MGLMapView, regionDidChangeAnimated animated: Bool) {
if let source = mapView.style?.source(withIdentifier: "source") as? MGLVectorTileSource {
let sourceFeatures = source.features(sourceLayerIdentifiers: Set(["source"]), predicate: nil)
print("sourceFeatures count = \(sourceFeatures.count)") // Always 0
}
}
Я даже пытался с видимыми функциями из вида карты, но это не сработало.Я также пытался без добавления слоя, но это не сработало.