Hallo,
ich probiere in SwiftUI eine Map in einer View darzustellen. Ich habe mir dazu Konstrukt aus einem Apple Developer Form Thread genutzt, welches auch einwandfrei funktioniert:
Alles anzeigen
Aufgerufen wird das dann in meiner View:
In der Klasse in der die Map initialisiert wird gibt es Span Werte um den Zoom Faktor zu bestimmen:
Die beiden Double Werte würde ich jetzt gerne in einer Settings View über den User setzen lassen (Picker).
Meine Idee war es die Werte über @State und @Binding der View zu übergeben.
Wo mir jetzt allerdings das KnowHow fehlt, ja ich weiß hier muss ich in Swift noch Gas geben, ist das Vorgehen wie ich der Klasse LocationManager und der darin erhaltenden Funktion die Werte übergeben kann ??
Gruß
Ralf
ich probiere in SwiftUI eine Map in einer View darzustellen. Ich habe mir dazu Konstrukt aus einem Apple Developer Form Thread genutzt, welches auch einwandfrei funktioniert:
Quellcode
- class LocationManager: NSObject, ObservableObject, CLLocationManagerDelegate {
- @Published var region = MKCoordinateRegion()
- private let manager = CLLocationManager()
- override init() {
- super.init()
- manager.delegate = self
- manager.desiredAccuracy = kCLLocationAccuracyBest
- manager.requestWhenInUseAuthorization()
- manager.startUpdatingLocation()
- }
- func locationManager(_ manager: CLLocationManager, didUpdateLocations locations: [CLLocation], latitudeDelta: Double) {
- locations.last.map {
- let center = CLLocationCoordinate2D(latitude: $0.coordinate.latitude, longitude: $0.coordinate.longitude)
- let span = MKCoordinateSpan(latitudeDelta: 0.005, longitudeDelta: 0.005)
- region = MKCoordinateRegion(center: center, span: span)
- }
- }
- }
Aufgerufen wird das dann in meiner View:
In der Klasse in der die Map initialisiert wird gibt es Span Werte um den Zoom Faktor zu bestimmen:
Die beiden Double Werte würde ich jetzt gerne in einer Settings View über den User setzen lassen (Picker).
Meine Idee war es die Werte über @State und @Binding der View zu übergeben.
Wo mir jetzt allerdings das KnowHow fehlt, ja ich weiß hier muss ich in Swift noch Gas geben, ist das Vorgehen wie ich der Klasse LocationManager und der darin erhaltenden Funktion die Werte übergeben kann ??
Gruß
Ralf