gpt4 book ai didi

swift - 从 map 中删除注释 - Swift

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

我有麻烦了。我为包含“标识符”的 MKPointAnnotation 创建了一个自定义类。

现在我想比较标识符,如果两个标识符相同,我想删除注释。

目前我有这段代码正在检查 annotation.title 和 user.username 是否相同,但我希望将其更改为:annotation.identifier 和 user.id。

 for annotation in self.mapView.annotations {
if let title = annotation.title, title == user.username {
self.mapView.removeAnnotation(annotation)
}

}

注解的自定义类如下:

   class MyAnnotation: MKPointAnnotation {

var identifier: String!
}

对于注释的创建:

let annotation = MyAnnotation()
annotation.title = user.username
annotation.subtitle = user.job
annotation.identifier = user.email
annotation.coordinate = CLLocationCoordinate2D(latitude: (Double(user.latitude ?? "0"))!, longitude: (Double(user.longitude ?? "0"))!)

self.mapView.addAnnotation(annotation)

最佳答案

在执行代码之前,您必须将注释转换为 MyAnnotation。尝试这样的事情:


for annotation in self.mapView.annotations {
if let annotation = annotation as? MyAnnotation, annotation.identifier == user.id {
self.mapView.removeAnnotation(annotation)
}
}

希望这对您有所帮助。

关于swift - 从 map 中删除注释 - Swift,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56811552/

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