Mapbox - Как получить функции для векторного тайла? - PullRequest
0 голосов
/ 15 ноября 2018

Я пытаюсь настроить источник векторных листов после завершения загрузки вида карты:

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
    }
}

Я даже пытался с видимыми функциями из вида карты, но это не сработало.Я также пытался без добавления слоя, но это не сработало.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...