【发布时间】:2017-12-04 04:33:31
【问题描述】:
我正在尝试让我在自定义区域中拥有的每个 CKRecord 作为注释单独显示在我的地图上。我将注释标题和副标题用作 CKRecord 中的其他字段,但对于 annotation.cordinate,我很难将其连接到 CKRecord 的“位置”字段。
func fetchTruck() {
let truePredicate = NSPredicate(value: true)
let eventQuery = CKQuery(recordType: "User", predicate: truePredicate)
let queryOperation = CKQueryOperation(query: eventQuery)
queryOperation.recordFetchedBlock = { (record : CKRecord!) in
self.truck.append(record)
let annotation = MKPointAnnotation()
annotation.title = record["username"] as? String
annotation.subtitle = record["hours"] as? String
**if let location = record["location"] as? CLLocation {
annotation.coordinate = location.coordinate}** Answer
print("recordFetchedBlock: \(record)")
self.mapView.addAnnotation(annotation)
}
queryOperation.queryCompletionBlock = { (cursor, error) in
print("queryCompletionBlock: \(self.truck)")
}
database.add(queryOperation)
}
override func viewDidLoad() {
super.viewDidLoad()
fetchTruck()
locationManager.delegate = self
locationManager.desiredAccuracy = kCLLocationAccuracyBest
locationManager.requestWhenInUseAuthorization()
locationManager.startUpdatingLocation()
}
【问题讨论】: