Так что в настоящее время я использую AlamoFire для отправки запросов в картографический сервис, который обеспечивает наложение изображений.Насколько я понимаю, все запросы AlamoFire выполняются асинхронно .
Теперь, имея в виду, я решил, что получу данные с сервера, а затем добавлюслои изображений при вызове основного потока .Я сделал следующее:
networkManager.fetchParcelOvelays(parameters: params) { image in
let source = MGLImageSource(identifier: "parcels", coordinateQuad: self.getBoundingBox(), image: image)
style.addSource(source)
let parcelLayer = MGLRasterStyleLayer(identifier: "parcel-layer", source: source)
DispatchQueue.main.async {
for layer in style.layers.reversed() {
if !layer.isKind(of: MGLSymbolStyleLayer.self) {
style.insertLayer(parcelLayer, above: layer)
break
}
}
}
}
Даже после вызова основного потока и отображения слоев он по-прежнему загружается довольно медленно.Не правильно ли я вызываю основной поток ?