我希望用户能够看到距离他/她不到1公里的帖子。怎么做?请看细节

时间:2016-06-15 19:29:29

标签: android google-maps-api-3 firebase android-geofence geofire

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

现在,我想要的是我希望用户只能看到他/她身边1公里范围内的那些帖子。

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

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

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

1 个答案:

答案 0 :(得分:1)

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

在firebase中: 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