Я пытаюсь динамически изменить изображение в добавленном слое в Mapbox. Мой (соответствующая часть) код:
func mapView(_ mapView: MGLMapView, didFinishLoading style: MGLStyle) {
let weatherSource = MGLImageSource(identifier: "weatherSource", coordinateQuad: radarCoordinates, image: radarImages[radarImages.count-1])
let weatherLayer = MGLRasterStyleLayer(identifier: "weatherLayer", source: weatherSource)
radarTimer = Timer.scheduledTimer(timeInterval: 1, target: self, selector: #selector(changeRadar), userInfo: nil, repeats: true)
style.addSource(weatherSource)
style.addLayer(weatherLayer)
self.weatherLayer = weatherLayer
}
И функция обновления:
@objc func changeRadar() {
snap = (snap != radarImages.count-1 ? snap+1 : 0)
weatherSource.image = (radarImages[snap] == nil ? radarImages[snap-1] : radarImages[snap])
}
Ничего не происходит, когда я запускаю приложение, но оно должно изменить изображения, содержащиеся в массиве radarImages (содержит радиолокационные изображения).
Есть идеи, что мне лучше сделать, чтобы это сработало?