通过点击Mapkit中的注释触发Trigger NavigationLink

问题描述 投票:0回答:1

我想通过点击Mapkit中的注释来触发NavigationLink。我能够设置一个布尔值,点击了某个注解,但是我却无法通过它调用SwiftUI视图。

func mapView(_ mapView: MKMapView, viewFor annotation: MKAnnotation) -> MKAnnotationView? {
            guard !(annotation is MKUserLocation) else {
                return nil
            }

            let identifier = "Annotation"
            var annotationView = mapView.dequeueReusableAnnotationView(withIdentifier: identifier)

            if annotationView == nil {
                annotationView = MKPinAnnotationView(annotation: annotation, reuseIdentifier: identifier)

                annotationView?.canShowCallout = true

                annotationView?.rightCalloutAccessoryView = UIButton(type: .detailDisclosure)
            } else {
                annotationView?.annotation = annotation
            }

            return annotationView
        }

func mapView(_ mapView: MKMapView, didSelect view: MKAnnotationView) {
            let selectedAssistance = self.parent.assistances.first {
                    $0.location.location?.coordinate == view.annotation?.coordinate
            }

            guard selectedAssistance != nil else {
                return
            }

            self.parent.selectedAssistance = selectedAssistance?.serverId ?? ""
            self.parent.presentSheet = true
        }
swift mapkit swiftui mapkitannotation
1个回答
0
投票

[通过在ZStack中调用我自己的MapView,并在其后面放置了NavLink使其在绑定中处于活动状态,从而实现了它

© www.soinside.com 2019 - 2024. All rights reserved.