GeoFire查询数据列表
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了GeoFire查询数据列表相关的知识,希望对你有一定的参考价值。
我在Firebase实时数据库中有关于这样结构的帖子的数据:
posts:
key1:
author: Jake
location:
g: xxxx
0: yyyy
1: yyyy
key2:
author: Daniel
location:
g: xxxx
0: yyyy
1: yyyy
如何使用GeoFire查询我的数据库以仅查找指定半径范围内的帖子?有没有办法更改数据库中的.indexOn规则来执行此操作?
提前致谢
答案
我认为您需要将GeoFire与UserDatabase分开
设置位置呼叫
geoFire.setLocation(CLLocation(latitude: 37.7853889, longitude: -122.4056973), forKey: **UserID** )
然后创建Circle Query
let center = CLLocation(latitude: 37.7832889, longitude: -122.4056973)
var circleQuery = geoFire.queryAtLocation(center, withRadius: 0.6) // 600m
你对数据库进行调用
var queryHandle = query.observeEventType(.KeyEntered, withBlock: { (key: String!, location: CLLocation!) in
print("Key '(key)' entered the search area and is at location '(location)'")
})
返回的每个Key都将是数据库的UserID,您可以通过/ User / {UserID} / ...访问相关路径。
以上是关于GeoFire查询数据列表的主要内容,如果未能解决你的问题,请参考以下文章
如何使用geofire查询检查10公里半径内是不是存在firebase用户