我正在存储一些帖子Firebase
以及发布它currentLatitude
的currentLongitude
位置。
现在,我想要的是我希望用户只看到那些在他/她半径 1 公里内的帖子。
我知道GeoFire
,但问题是我已将整个项目更新为最新的Firebase
SDK,并且当前的GeoFire
库与最新的 SDK 不兼容Firebase
。
我也尝试过使用Geofences,但我不知道如何使用它。
如果您向我推荐一些替代方案或实现我想要的方式,我将不胜感激。请!
我正在存储一些帖子Firebase
以及发布它currentLatitude
的currentLongitude
位置。
现在,我想要的是我希望用户只看到那些在他/她半径 1 公里内的帖子。
我知道GeoFire
,但问题是我已将整个项目更新为最新的Firebase
SDK,并且当前的GeoFire
库与最新的 SDK 不兼容Firebase
。
我也尝试过使用Geofences,但我不知道如何使用它。
如果您向我推荐一些替代方案或实现我想要的方式,我将不胜感激。请!
这是一个有趣的问题。首先,使用两个值(纬度和经度)会限制数学结束以获得半径圆区域。解决此问题的一种方法是使用 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