Mercurial > public > geoquiz
annotate GeoQuiz/Helpers/CityMap.swift @ 26:425078c01194
refactor code
author | Dennis C. M. <dennis@denniscm.com> |
---|---|
date | Wed, 09 Nov 2022 10:30:01 +0100 |
parents | GeoQuiz/Components/CityMap.swift@e281791e0494 |
children |
rev | line source |
---|---|
6 | 1 // |
20 | 2 // CityMap.swift |
6 | 3 // GeoQuiz |
4 // | |
7 | 5 // Created by Dennis Concepción Martín on 4/10/22. |
6 | 6 // |
7 | |
8 import SwiftUI | |
8 | 9 import MapKit |
6 | 10 |
11 struct CityMap: View { | |
26 | 12 @ObservedObject var gameController: CityGameController |
19 | 13 |
14 @StateObject var mapController: MapController | |
15 | |
16 init(game: CityGameController) { | |
26 | 17 self.gameController = game |
19 | 18 self._mapController = StateObject(wrappedValue: MapController()) |
19 } | |
8 | 20 |
6 | 21 var body: some View { |
8 | 22 VStack { |
19 | 23 if let mapImage = mapController.image { |
7 | 24 Image(uiImage: mapImage) |
25 .resizable() | |
26 .scaledToFit() | |
10
a793f33f05fb
refactor code and fix layout
Dennis C. M. <dennis@denniscm.com>
parents:
8
diff
changeset
|
27 .clipShape(Circle()) |
a793f33f05fb
refactor code and fix layout
Dennis C. M. <dennis@denniscm.com>
parents:
8
diff
changeset
|
28 .overlay { |
a793f33f05fb
refactor code and fix layout
Dennis C. M. <dennis@denniscm.com>
parents:
8
diff
changeset
|
29 Circle() |
a793f33f05fb
refactor code and fix layout
Dennis C. M. <dennis@denniscm.com>
parents:
8
diff
changeset
|
30 .strokeBorder(.white, lineWidth: 4) |
a793f33f05fb
refactor code and fix layout
Dennis C. M. <dennis@denniscm.com>
parents:
8
diff
changeset
|
31 } |
7 | 32 .shadow(radius: 10) |
33 } else { | |
34 ProgressView() | |
35 } | |
36 } | |
26 | 37 .onChange(of: gameController.correctAnswer.value) { _ in |
38 mapController.getMapImage(lat: gameController.correctAnswer.value.lat, lon: gameController.correctAnswer.value.lon) | |
19 | 39 } |
40 | |
41 .onAppear { | |
26 | 42 mapController.getMapImage(lat: gameController.correctAnswer.value.lat, lon: gameController.correctAnswer.value.lon) |
8 | 43 } |
6 | 44 } |
45 } | |
46 | |
10
a793f33f05fb
refactor code and fix layout
Dennis C. M. <dennis@denniscm.com>
parents:
8
diff
changeset
|
47 struct CityMap_Previews: PreviewProvider { |
a793f33f05fb
refactor code and fix layout
Dennis C. M. <dennis@denniscm.com>
parents:
8
diff
changeset
|
48 static var previews: some View { |
19 | 49 CityMap(game: CityGameController()) |
10
a793f33f05fb
refactor code and fix layout
Dennis C. M. <dennis@denniscm.com>
parents:
8
diff
changeset
|
50 } |
a793f33f05fb
refactor code and fix layout
Dennis C. M. <dennis@denniscm.com>
parents:
8
diff
changeset
|
51 } |