Я знаю, что эти вопросы уже задавались много раз, но я все еще борюсь. Я сохранил некоторые координаты для местоположений событий на базе огня. Мой JSON выглядит следующим образом: введите описание изображения здесь
Мой код выглядит следующим образом:
Database.database().reference().child("Shoutout").observe(.childAdded, with: {(DataSnapshot) in
let uid = DataSnapshot.key
Database.database().reference().child("Shoutout Locations").child(uid).child("l").observeSingleEvent(of: .value, with: {
(DataSnapshot) in
// print(DataSnapshot) <- able to read on console
guard let locationDict = DataSnapshot.value as? [String: AnyObject]
else { return }
// print(locationDict) <- unable to read on console
let shoutout = Shoutout()
shoutout.lat = Double(locationDict["0"] as! String)
shoutout.long = Double(locationDict["1"] as! String)
})
})
Не уверен, почему мне не удается прочитать координаты в консоли, когда я пытаюсь распечатать (locationDict). Я получаю координаты при печати (DataSnapshot). В конце я хотел бы добавить эти координаты в мой Mapview
var Lat = shoutout.lat
var Long = shoutout.long
let center = CLLocationCoordinate2D(latitude: Lat!, longitude: Long!)
_ = MKCoordinateRegion(center: center, span: MKCoordinateSpan(latitudeDelta: 0.10, longitudeDelta: 0.10))
let annotation = MKPointAnnotation()
annotation.coordinate = CLLocationCoordinate2DMake(Lat!, Long!)
self.mapView.addAnnotation(annotation)