2016-04-10 14 views
0

Şu andaki kodlarımın gösterdiği gibi, masaüstümde Firebase'deki her şey var. Listeyi yakındakiler ile nasıl sınırlarım?Yakında yer alan GeoFire konumlarını listeleme

DataService.dataService.BUSINESS_REF.observeEventType(.Value, withBlock: { snapshot in 

     // A snapshot of the businesses data 

     self.businesses = [] 

     if let snapshots = snapshot.children.allObjects as? [FDataSnapshot] { 

      for snap in snapshots { 

       // Make business array for the tableview 
       if let postDictionary = snap.value as? Dictionary<String, AnyObject> { 

        let key = snap.key 
        let business = Business(key: key, dictionary: postDictionary) 

        // Show newest business first 
        self.businesses.insert(business, atIndex: 0) 
       } 
      } 
     } 

     // Update the table when there is new data 

     self.searchTableView.reloadData() 
    }) 

iOS programlama yeniyim ve kodlar üzerinde bir öğretici olduğunu ben GeoFire en GFQuery nesnelerin faydalanmak gerekir ama sadece benim kodunda bu koymak için nereye bilemiyorum biliyoruz. Şimdiden teşekkürler!

cevap

0

Şekil verilmiş. Umarım birileri bunu yapmanın daha iyi bir yolunu önerebilir.

func locationManager(manager: CLLocationManager, didUpdateLocations locations: [CLLocation]) { 

    firebase = Firebase(url:"https://myapp.firebaseio.com/") 
    geoFire = GeoFire(firebaseRef: firebase!.childByAppendingPath("geo")) 

    let userLocation:CLLocationCoordinate2D = (locationManager.location?.coordinate)! 
    let center = CLLocation(latitude: userLocation.latitude, longitude: userLocation.longitude) 
    let span = MKCoordinateSpanMake(0.0125, 0.0125) 
    let region = MKCoordinateRegionMake(center.coordinate, span) 
    let regionQuery = geoFire?.queryWithRegion(region) 

    UIApplication.sharedApplication().networkActivityIndicatorVisible = true 

    regionQuery!.observeEventType(GFEventTypeKeyEntered, withBlock: { (key: String!, location: CLLocation!) in 

     // Check for changes in Firebase database 
     DataService.dataService.BUSINESS_REF.queryOrderedByKey().queryEqualToValue(key).observeEventType(.Value, withBlock: { snapshot in 

      if let snapshots = snapshot.children.allObjects as? [FDataSnapshot] { 

       for snap in snapshots { 

        if let postDictionary = snap.value as? Dictionary<String, AnyObject> { 

        //let key = snap.key 
        let business = Business(key: key, dictionary: postDictionary) 

        self.businesses.insert(business, atIndex: 0) 

        } 
       } 
      } 

      self.searchTableView.reloadData() 

     }) 
    }) 
} 
İlgili konular