Как обновлять данные координат в Text (SwiftUI)

swift

#1

Добрый вечер. Пытаюсь присвоить Text координаты карты , но когда я двигаю карту - данные в Text не обновляются. В чем может быть ошибка ?

import SwiftUI
import MapKit
import UIKit

struct ContentView: View {
    var mapView = MKMapView()
    var body: some View {
        VStack {
            MapView()
                .frame(height: 300)
            VStack {
                Text("lat: \(mapView.centerCoordinate.latitude)").bold()
                Text("lon: \(mapView.centerCoordinate.longitude)").bold()
                
            }
            
        }
       
        
    }
    
}

struct MapView: UIViewRepresentable {
    
    class Coordinator: NSObject, MKMapViewDelegate {
        var parent: MapView
        
        init(_ parent: MapView) {
            self.parent = parent
        }
        
        func mapViewDidChangeVisibleRegion(_ mapView: MKMapView) {
        
                        print ("lat: \(mapView.centerCoordinate.latitude)")
                        print ("lon: \(mapView.centerCoordinate.longitude)")
           
        }
        
        
    }
    
    func makeCoordinator() -> Coordinator {
        Coordinator(self)
    }
    
    func makeUIView(context: UIViewRepresentableContext<MapView>) -> MKMapView {
        let mapView = MKMapView()
        mapView.delegate = context.coordinator
        return mapView
    }
    
    func updateUIView(_ view: MKMapView, context: Context) {

    }
    
}

#2

А почему они должны обновляться??
Ты просто поместил на Вью, Вью с картой и два Лейбла с текстом.
Тебе нужно подписаться на протокол MKMapViewDelegate, и реализовать метод перемещения карты (в нем обновлять координаты)


#3

Тогда тупой вопрос , но все же - как мне в стукнутую struct ContentView: View

Подписать протокол c класса Coordinator ?