GFCircleQuery 没有 return 任何结果
GFCircleQuery doesn't return any result
我用Geofire代替iOS。我遇到了以下问题,我使用 Geofire 获取当前用户旁边的卡片和用户。对于卡片,结果是正确的,但对于用户我没有得到任何结果,尽管 Firebase 数据库中的数据结构用于存储卡片和用户的位置是相同的。请告诉我如何解决这个问题?
我的结构数据
"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" : [ ******, -**** ]
},
我没有通过向其模型添加额外的 属性 来正确使用 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()
}
我用Geofire代替iOS。我遇到了以下问题,我使用 Geofire 获取当前用户旁边的卡片和用户。对于卡片,结果是正确的,但对于用户我没有得到任何结果,尽管 Firebase 数据库中的数据结构用于存储卡片和用户的位置是相同的。请告诉我如何解决这个问题?
我的结构数据
"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" : [ ******, -**** ]
},
我没有通过向其模型添加额外的 属性 来正确使用 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()
}