2017-05-05 105 views
0

我對iOS使用Geofire。我遇到以下問題,我使用Geofire獲取當前用戶旁邊的卡片和用戶。對於卡片,結果是正確的,但對於用戶,我沒有得到任何結果,但Firebase數據庫中的數據結構與存儲卡片和用戶的位置相同。請告訴我如何解決這個問題?GFCircleQuery不返回任何結果

我的結構數據

"cardLocation" : { 
    "-KjLxK0q39JnT2MZEalB" : { 
    ".priority" : "v17wefy8z", 
    "g" : "v17wefy8z", 
    "l" : [ *****, ****** ] 
    }, 
    "-KjM7_5sPkoruwoTvRzR" : { 
    ".priority" : "9q5c2ypf3", 
    "g" : "9q5c2ypf3", 
    "l" : [ ******, -****** ] 
    }, 
    "-KjNDq8nQ2Ffjr9M_1a9" : { 
    ".priority" : "9q59x2vc6", 
    "g" : "9q59x2vc6", 
    "l" : [ *******, -***** ] 
    } 
}, 

"userLocations" : { 
    "1Cix149ThIOG1ULPVjyy0LyTxbe2" : { 
    ".priority" : "87zc0d2j5", 
    "g" : "87zc0d2j5", 
    "l" : [ ******, -**** ] 
    }, 

回答

0

我沒有正確地通過添加額外的屬性,以它的模型中使用geofire。現在我只添加CLLocation,它適用於我。

let geofireRef = Database.database().reference().child(MainGateways.cardLocation.rawValue) 
       guard let geoFire = GeoFire(firebaseRef: geofireRef) else { return } 
       dispatchGroup.enter() 
       geoFire.setLocation(cardLocation, forKey: cardModelRef.key) { (error) in 
        commonError = error 
        dispatchGroup.leave() 
       }