2017-05-05 29 views
0

私はをiOSに使用しています。次の問題に直面しました.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() 
       } 
関連する問題