gpt4 book ai didi

ios - 在 MapView (Swift) 中单击 MKPlacemark 时如何调用函数?

转载 作者:行者123 更新时间:2023-11-28 13:47:45 24 4
gpt4 key购买 nike

每当在我的 MapView 上单击 MKPlacemark 时,我都会尝试执行特定功能。此函数从地标中提取信息并将其显示在单独的 View 中。我试过用

func mapView(_ mapView: MKMapView, didSelect view: MKAnnotationView) {}

但这似乎行不通。我不确定是否必须为每个地标命名,我已避免这样做,因为我已经在名称中显示了位置数据(如我的代码中所示)。任何帮助将非常感激。我的代码:

启动地标(这发生了很多次,变量已经被实例化):

let coords = CLLocationCoordinate2DMake(latOfPlace!, lonOfPlace!)
let address = [CNPostalAddressStreetKey: addressStreetKey, CNPostalAddressCityKey: addressCityKey, CNPostalAddressPostalCodeKey: addressPostalCodeKey, CNPostalAddressISOCountryCodeKey: addressISOCountryCodeKey]
let place = MKPlacemark(coordinate: coords, addressDictionary: address)
self.mapView.addAnnotation(place)

最佳答案

您需要在 viewDidLoad 中设置委托(delegate)

self.mapView.delegate = self

func mapView(_ mapView: MKMapView, didSelect view: MKAnnotationView) {
guard let ann = view.annotation as? MKPlacemark else { return }
print(ann)
}

关于ios - 在 MapView (Swift) 中单击 MKPlacemark 时如何调用函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55200902/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com