使用此代码,我从Geolocs中仅获得一个值,仅是键和位置,而不是附近的位置。
var geoFireRef: DatabaseReference?
var geoFire: GeoFire?
var myQuery: GFQuery?
func Geofire() {
geoFireRef = Database.database().reference().child("Geolocs")
geoFire = GeoFire(firebaseRef: geoFireRef!)
self.geoFire?.setLocation(currentLocation!, forKey:Auth.auth().currentUser!.uid)
myQuery = geoFire?.query(at: currentLocation!, withRadius: 100)
myQuery?.observe(.keyEntered, with: { (key, location) in
if key != Auth.auth().currentUser?.uid
{
let ref = Database.database().reference().child("Users").child(key)
ref.observeSingleEvent(of: .value, with: { (snapshot) in
let id = snapshot.key
})
}
})
}
答案 0 :(得分:0)
通过键保留您的GeoFire位置与所有内容分开,以引用其他附加数据,例如用户信息或帖子信息。由于混合使用静态数据和动态数据并不是存储数据的最有效方法。
在这里查看我的数据结构并查询: