问题标签 [geofire]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
javascript - 使用 Firebase-GeoFire 获取用户附近的餐馆列表
我有一个餐厅列表,每个餐厅都有一个固定位置,存储在 GeoFire 中。现在我想在用户位置的固定半径内显示餐厅。我如何使用 GeoFire 来实现这一点。此处的文档https://github.com/firebase/geofire-js/blob/master/docs/reference.md#geofiresetkeyorlocations-location主要建议使用 key_entered、key_exited 等处理 geofire“键”移动的解决方案.但我无法弄清楚如何访问附近的钥匙。
我的控制器代码如下所示:
密钥打印在控制台上,但不会推送到 filtersRest 数组。
我希望在以下链接中实现“示例用法”: https ://github.com/firebase/geofire-java#example-usage
有类似的问题,但大多数都在 ios/swift 中,答案不是很丰富。我正在使用 GeoFire-JavaScript。任何帮助,将不胜感激。
ios - 如何在 GeoFire 中正确使用存储的搜索半径?
我正在使用 GeoFire 搜索给定的半径,用户可以在我的应用程序中设置并存储在 FireBase 上。当页面加载时,在运行 GeoFire 查询之前,我从 Firebase 获取半径。但是,当我运行下面的代码时,我收到以下错误:由于未捕获的异常“NSInvalidArgumentException”而终止应用程序,原因:“精度必须小于 23!”
通过玩一些策略性放置的打印语句,看起来 searchRadius 在 GeoFire 查询运行时返回为 0,这让我怀疑异步加载正在发挥作用。
我的问题是,由于我的 searchRadius 为 0,我是否会收到此错误,如果是这样,我如何确保获取我的用户搜索半径的 FireBase 块在我的 GeoFire 查询之前运行?
swift - 如何在我的 firebase 数据库中构建我的 Geofire 帖子
我在所有其他帖子中注意到,任何带有子节点的节点/键都以引号保存在数据库中,而我的则没有。
矿
其他/我认为应该是
在遇到与“.indexOn”类似的错误之前,我没有想到任何事情。我尝试添加“.indexOn”,但我收到了错误,即没有键可以有符号.
(以及一些其他不允许的字符),所以我把它放在没有.
类似的地方:
Locations{
(specific id){
g: "345jh3i5jh"
l{
0: 37
1: -120
}
indexOn: "g"
user: "0987435098723098Gjhf90"
}
}
所以它似乎可以工作,因为observeEventType
有时会返回正确的结果,但它仍然给我一个错误,我需要将“.indexOn”放入数据库中。我该怎么做呢?
任何帮助和明确的示例将不胜感激,因为所有问题可能比我解决的问题更多。快速执行此操作,感谢您的阅读!
android - 使用 GeoFire 在 android 中填充 Firebase Recycler 视图
我想填充我的回收站视图,以便我可以看到附近的人/地点。我正在使用 GeoFire 来查询我的数据库,它看起来像这样。
我正在使用这个 Firebase RecyclerView
与这些聊天持有者类和聊天对象类
目前,FirebaseUI 库中提供的这个适配器填充了 recyclerview,因此,只使用一个引用,并且所有子事件都显示在视图中,现在,我想填充我的 recyclerView,这样当一个键输入时,它就会填充我的 recyclerview根据我的 key = 我的参考,这就是我的 firebase 数据库看起来我的 firebase 数据库的方式
ios - 按距离排序 Geofire 结果
我一直在尝试使用iOS 版 Geofire,但似乎找不到任何方法可以在圆形查询中返回与搜索位置的距离。GFQueryResultBlock 只返回键和位置。我是否正确假设我必须自己计算距离?
假设我正在使用 Firebase 制作一个附近的餐厅应用程序,并且想要显示离用户最近的 20 家餐厅,按它们的距离排序。我可以创建一个圆形查询,然后通过循环增加搜索半径,直到找到 20 家餐厅。然后计算每个距离并在将它们显示给用户之前对其进行排序。这是一种合理的方法吗,考虑到应用程序中正在进行大量工作来构建数据(计算距离和排序)?
我注意到 javascript Geofire 查询返回距离 center,但我猜 iOS 和 android 版本与此不同。
firebase - Geofire 和使用 firebase 和 Angularfire 进行查询
在我的 ionic2 应用程序中,我需要显示一个列表,其中实时更新最近的地点(酒吧、餐厅等)信息。正如我在 GeoFire 文档上阅读的那样,我应该在树中单独保存位置和地点详细信息数据。所以我的firebase中有以下内容:
当用户加载页面时,我得到了他的位置,并且使用 GeoFire,我能够得到他所在区域附近的每个 placeID。很酷但现在变得非常棘手......现在我得到了所有地点 ID,我想显示这些地点的所有详细信息并订阅每个选定地点 ID 的“信息”子项中发生的每个更新
我试过了:
它起作用了,我得到所选placesID的所有地点详细信息,但是一旦更新了地点(例如:子“信息”已更新),就会将新密钥推送到数组中,并且我得到重复的信息..
还有比这更好的解决方案吗?
ios - Firebase 数据库结构和查询格式选项
基本上,我的应用有基于位置的帖子,可以被赞成/反对。我需要构建一个查询,该查询返回位于指定区域的前 15 个投票帖子,这些帖子是在过去 24 小时内发布的。来自 sql 背景,我发现使用 JSON 格式和 firebase 内置的按顺序查询和过滤选项很难做到这一点。我意识到我很可能需要进行大量的客户端过滤,所以我想问一下 JSON 结构和查询格式将是什么来最小化客户端过滤。到目前为止,这是我的 JSON 格式的样子:
我尝试使用 Geofire,但不幸的是,它似乎只能按区域查询,并且由于我想按区域和发布时间(除其他外)进行查询,因此使用 Geofire 无法很好地扩展。
java - 在 FireBase 树中设置 GeoFire 值
这是我的数据库。每当我使用 GeoFire 设置位置时,我都会使用:
但我还没有弄清楚如何在父母的带领下得到它。我想将值存储在孩子下方的“markerLocation”中。
我尝试将 setLocation() 中的键更改为完全“markerLocation”而不是“Marker”,但它仍然会生成自己的树。对于树,我有:
而且我试图在 setValue 中挤入 setLocation 但这不起作用。
如何设置它以使其位于父/子之下?