2016-06-24 16 views
0

hier ist mein getMapAnnotations() Funktion, die angeblich Breiten- und Längeninformation von einer Firebase-Datenbank zu erhalten und diese Anmerkungen zu den mapView hinzufügen:App bei CLLocationCoordinate2DMake Absturz - swift

func getMapAnnotations() { 
    print("aa") 
    var refHandle = self.ref.child("tasks").observeEventType(FIRDataEventType.Value, withBlock: { (snapshot) in 
     let tasksDict = snapshot.value as? NSDictionary 
     print("bb") 
     for i in 0 ..< tasksDict!.count { 
       let taskId = tasksDict!.allKeys[i] as! String 
       print (taskId) 
       let task = tasksDict!.objectForKey(taskId) as! NSDictionary 
       print (task) 
       let lat = task.objectForKey("latitude") as! String 
       let long = task.objectForKey("longitude") as! String 
       let latNum = Double(lat) 
       let longNum = Double(long) 
       let latDegrees: CLLocationDegrees = latNum! 
       let longDegrees: CLLocationDegrees = longNum! 
       let pointLocation: CLLocationCoordinate2D = CLLocationCoordinate2DMake(latDegrees, longDegrees) 
       let point = MKPointAnnotation() 
       point.coordinate = pointLocation 
       point.title = task.objectForKey("title") as? String 
       self.homeMap.addAnnotation(point) 
       print("point added") 

     } 

Die App reagiert nicht mehr, wenn die Ansicht Controller lädt und der Haltepunkt befindet sich in der PointLocation-Deklaration. Gibt es etwas, was ich hier nicht mache? Vielen Dank.

+0

Die erste offensichtlichste Sache zu überprüfen, welche Werte latDegrees und longDegrees haben. – Gruntcakes

+0

@SausageModulationMatrix Sie sind die richtigen Koordinaten für den Pin, den ich zeigen möchte, in diesem Fall 37.3323314 und 122.0312186 –

+0

Kann nichts mit dieser speziellen Zeile falsch sehen, wenn die Werte in Ordnung sind. Wird die Schleife nur einmal ausgeführt? – Gruntcakes

Antwort

0

Ich hatte einen Haltepunkt an dieser Linie eingerichtet. Oh Mann, das ist peinlich.