出于某种原因,我的 Geofire 查询仅在半径设置为 1197 或更高时才返回项目。少了,什么都不会退。当返回数据并记录距离时,它们都小于 1 公里,所以这对我来说没有任何意义。
有什么想法吗?
代码:
this.firebaseRef = new Firebase("<my firebase - this is fine>");
this.geoFire = new GeoFire(this.firebaseRef);
this.geoQuery = this.geoFire.query({
center: [50.72001, -1.8800],
radius: 1197
});
this.geoQuery.on("key_entered", function(key, location, distance){
console.log(key + ', ' + location + ', ' + distance);
});
我应该提到我正在使用 React,这是在 componentWillMount 方法中。
谢谢!
更新:Geofire 似乎需要 Geohash 来搜索数据库,所以为了解决我的问题,我开始将 lat/lng 转换为 geohashes 并存储它。