Mercurial > public > geoquiz
view GeoQuiz/Components/CityMapHelper.swift @ 19:f140bb277c96
refactor code
author | Dennis C. M. <dennis@denniscm.com> |
---|---|
date | Sun, 23 Oct 2022 00:11:38 +0100 |
parents | a793f33f05fb |
children |
line wrap: on
line source
// // CityMapHelper.swift // GeoQuiz // // Created by Dennis Concepción Martín on 4/10/22. // import SwiftUI import MapKit struct CityMap: View { @ObservedObject var game: CityGameController @StateObject var mapController: MapController init(game: CityGameController) { self.game = game self._mapController = StateObject(wrappedValue: MapController()) } var body: some View { VStack { if let mapImage = mapController.image { Image(uiImage: mapImage) .resizable() .scaledToFit() .clipShape(Circle()) .overlay { Circle() .strokeBorder(.white, lineWidth: 4) } .shadow(radius: 10) } else { ProgressView() } } .onChange(of: game.correctAnswer.value) { _ in mapController.getMapImage(lat: game.correctAnswer.value.lat, lon: game.correctAnswer.value.lon) } .onAppear { mapController.getMapImage(lat: game.correctAnswer.value.lat, lon: game.correctAnswer.value.lon) } } } struct CityMap_Previews: PreviewProvider { static var previews: some View { CityMap(game: CityGameController()) } }