From f2aa710a5e29e41b8da4601373701e1fd535202d Mon Sep 17 00:00:00 2001 From: Oliver Date: Mon, 19 May 2025 17:11:17 +0200 Subject: [PATCH] feat(annotation): basic annotation page, not working yet --- .../UserInterfaceState.xcuserstate | Bin 53279 -> 55315 bytes StepMap/AnnotationView.swift | 22 +++++++++++++++++- StepMap/UIKitMapView.swift | 20 ++++++++++++---- StepMap/ViewModel.swift | 2 ++ 4 files changed, 39 insertions(+), 5 deletions(-) diff --git a/StepMap.xcodeproj/project.xcworkspace/xcuserdata/oliverhnat.xcuserdatad/UserInterfaceState.xcuserstate b/StepMap.xcodeproj/project.xcworkspace/xcuserdata/oliverhnat.xcuserdatad/UserInterfaceState.xcuserstate index 39485ba4e4af17993ec57dcc77a9b32fd60a247e..08614d873058739510186308d05cd60b25844104 100644 GIT binary patch literal 55315 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 literal 53279 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 let searchViewConctroller: UIHostingController var annotationViewController: UIHostingController? @@ -126,13 +125,13 @@ class UIKitMapView: UIViewController, MKMapViewDelegate, CLLocationManagerDelega } func showAnnotation(annotation: MKAnnotation) { + viewModel.showDetails = true let location = CLLocation(latitude: annotation.coordinate.latitude, longitude: annotation.coordinate.longitude) CLGeocoder().reverseGeocodeLocation(location) { placemarks, error in guard let placemark = placemarks?.first, error == nil else { return } - print(placemark) - self.annotationViewController = UIHostingController(rootView: AnnotationView(pm: placemark)) + self.annotationViewController = UIHostingController(rootView: AnnotationView(pm: placemark, title: annotation.title as? String, coordinate: location, viewModel: self.viewModel)) if let avc = self.annotationViewController { avc.view.backgroundColor = .clear avc.modalPresentationStyle = .pageSheet @@ -156,7 +155,9 @@ class UIKitMapView: UIViewController, MKMapViewDelegate, CLLocationManagerDelega } func mapView(_ mapView: MKMapView, didDeselect annotation: any MKAnnotation) { - showSearchView() + if viewModel.showDetails { + viewModel.showDetails = false + } } func hideSearchView() { @@ -175,6 +176,17 @@ class UIKitMapView: UIViewController, MKMapViewDelegate, CLLocationManagerDelega self?.refreshRoute() } .store(in: &cancellables) + viewModel.$showDetails + .receive(on: DispatchQueue.main) + .sink { [weak self] value in + print(value) + if !value { + self?.hideAnnotationView() + self?.showSearchView() +// self?.mapView.selectedAnnotations = [] + } + } + .store(in: &cancellables) } } diff --git a/StepMap/ViewModel.swift b/StepMap/ViewModel.swift index 6bc8d86..913b933 100644 --- a/StepMap/ViewModel.swift +++ b/StepMap/ViewModel.swift @@ -13,6 +13,8 @@ class ViewModel: ObservableObject { @Published var directions: [MKRoute] = [] @Published var stepLength: Double? @Published var destination: MKMapItem? + @Published var showDetails = false + func saveValue(_ value: String) { UserDefaults.standard.set(value, forKey: "test")