如何解决仅显示过去一小时内创建的 Firebase 中的 Mapkit 注释
我目前可以从 Firebase Firestore 拉下我的所有注释并毫无问题地显示它们。在我的快照侦听器中,我希望能够仅显示在过去一小时内创建的注释。我在下面包含了我的代码,但该代码不起作用,并且仍在我的 Firestore 中返回所有注释。
let hourAgo = Date().addingTimeInterval(-3600)
db.collection("pins").addSnapshotListener { QuerySnapshot,Error in
guard let documents = QuerySnapshot?.documents else {
print("No documents")
return
}
let annotation = documents.map { QueryDocumentSnapshot -> Pin in
let data = QueryDocumentSnapshot.data()
let latitude = data["latitude"] as? Double ?? 0.0
let longitude = data["longitude"] as? Double ?? 0.0
let eventTitle = data["eventTitle"] as? String ?? ""
let eventSubtitle = data["eventSubtitle"] as? String ?? ""
let lastUpdated = data["lastUpdated"] as? Timestamp ?? Timestamp.init()
let pinDate = lastUpdated.dateValue()
let coordinate = CLLocationCoordinate2D(latitude: latitude,longitude: longitude)
if pinDate >= self.hourAgo {
self.displayPins(coordinate: coordinate,eventSubtitle: eventSubtitle,eventTitle: eventTitle)
}else{
return Pin(latitude: latitude,longitude: longitude,eventTitle: eventTitle,eventSubtitle: eventSubtitle)
}
//print(annotation)
return Pin(latitude: latitude,eventSubtitle: eventSubtitle)
}
}
}
func displayPins(coordinate: CLLocationCoordinate2D,eventSubtitle: String,eventTitle: String) {
let annotation = MKPointAnnotation()
annotation.coordinate = coordinate
annotation.title = eventTitle
annotation.subtitle = eventSubtitle
mapView.addAnnotation(annotation)
}```
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。