0

我正在存储一些帖子Firebase以及发布它currentLatitudecurrentLongitude位置。

现在,我想要的是我希望用户只看到那些在他/她半径 1 公里内的帖子。

我知道GeoFire,但问题是我已将整个项目更新为最新的FirebaseSDK,并且当前的GeoFire库与最新的 SDK 不兼容Firebase

我也尝试过使用Geofences,但我不知道如何使用它。

如果您向我推荐一些替代方案或实现我想要的方式,我将不胜感激。请!

4

1 回答 1

1

这是一个有趣的问题。首先,使用两个值(纬度和经度)会限制数学结束以获得半径圆区域。解决此问题的一种方法是使用 GeoHash https://en.wikipedia.org/wiki/GeoHash ,并根据准确性设置缩放级别。很少有有用的参考资料是https://gis.stackexchange.com/questions/18330/would-it-be-possible-to-use-geohash-for-proximity-searches

在火力基地内: https ://firebase.googleblog.com/2013/09/geofire-location-queries-for-fun-and.html

Google Maps API 还具有丰富的几何特征,可以探索 https://developers.google.com/maps/documentation/javascript/reference#spherical

其他替代方法可以使用诸如 PostGreSql/PostGis 数据库之类的地理空间工具,该工具具有强大的功能,可以在设定的半径范围内进行检查https://gis.stackexchange.com/questions/77072/return-all-results-within-a- 30km-radius-of-a-specific-lat-long-point

于 2016-06-15T19:47:53.023 回答