使用类似地理围栏的 geofire

Posted

技术标签:

【中文标题】使用类似地理围栏的 geofire【英文标题】:Using geofire like geofences 【发布时间】:2018-05-23 12:30:26 【问题描述】:

我想制作一个应用程序,当用户进入某个区域时发送通知。我知道存在 Geofire,并且我想使用,因为我使用的是 Firebase 数据库,但是我从未使用过它,而且我不知道它是否具有与 Google Geofences 相同的行为。

谁能告诉我能否用 Geofire 实现我的想法?

非常感谢您的回答!

【问题讨论】:

【参考方案1】:

正如这篇文章的官方 Firebase 博客中所见,GeoFire Goes Mobile

什么是 GeoFire?

如果您是 GeoFire 的新手,它是一个地理定位库,可将字符串键映射到位置并将它们存储在 Firebase 中。使用 GeoFire,您可以回答一个简单但重要的问题:哪些键位于给定地理区域内?但 GeoFire 的功能并不仅限于简单的位置查​​询,它真正的强大之处在于一切都是实时发生的。 当对象移动时,会在它们进入、退出和在区域内移动时触发事件。

GeoFire 开启了广泛的可能性:您可以构建一个应用程序,显示您方圆一英里内的跑步者,并实时显示他们的位置。您可以在搜索范围内显示出租车,并在它们移动时为其设置动画。或者,您可以构建一个简单列出附近所有有趣酒吧的应用。

回答您的问题,是的,可以使用 Geofire 实现您的想法,甚至更多。

【讨论】:

【参考方案2】:

GeoFire 是一个客户端库,可让您将地理位置存储在 Firebase 实时数据库中,然后针对该数据触发 GeoQueries 以获取某个点的特定范围内的位置。

它没有对地理围栏的内置支持,但可以使用该库构建地理围栏应用程序。最重要的步骤是:

    您需要定期知道手机的位置。 然后您需要在数据库中查询您所在位置周围的围栏。

我不确定 GeoFire 是否是最合适的库(无论如何推荐技术在 Stack Overflow 上都是题外话)。但这似乎可能

【讨论】:

感谢您的回答!但是,Geofire 默认不管理用户的位置?我看到你可以设置一些查询,称为 Geoquery,我认为,要工作,他们需要你的位置。那么,是Geofire定期更新的手机位置吗? GeoFire 不会自动跟踪您的位置。您需要在自己的代码中执行此操作。

以上是关于使用类似地理围栏的 geofire的主要内容,如果未能解决你的问题,请参考以下文章

Android Oreo 上未添加地理围栏

地理围栏:如何识别对象(特征),使用 Oracle Spatial 重叠地理围栏边界?

使用半径内的设备添加地理围栏时从未收到地理围栏停留事件

地理围栏是不是可以包含许多其他地理围栏

在 Google 的地理围栏教程中没有看到地理围栏转换

《TableStore最佳实践:轻松实现轨迹管理与地理围栏》