问题标签 [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.
ios - 提高 GeoFire 查询性能 - Firebase
我正在 Swift 中构建一个应用程序,用户(可以发布他们在街上目睹的事件的位置。每个事件的生命周期为 45 分钟,然后在该阈值之后它不会出现在地图上。
我像这样构建了我的 Json 树(位置和事件共享相同的 id - 此处未表示):
我查询屏幕上显示的区域对应的所有位置,然后查询不到 45 分钟前发生的事件。我这样做:
这种方法的问题在于,对于特定区域,我查询过去发生的事件的所有位置(可能很多),然后我使用传统 Firebase 查询查询不到 45 分钟前发生的事件.
有没有更好的解决方案来解决我的问题,因为如果每次用户移动地图时,我担心我会很快超过带宽阈值,显示的区域的所有位置都被加载......
ios - GeoFire Query 需要几分钟才能响应并导致内存泄漏
我对 GeoFire 有一个非常奇怪的问题。我敢打赌,我在某个地方引起了问题,但是现在,由于代码更改的数量非常有限,出现了 2 个主要问题:
1) GeoFire GFQuery 需要很长时间才能响应。GFQuery 需要超过 3 分钟才能最终返回位于 300 米小圆圈内的唯一键。我为启动此查询而添加的唯一代码是:
2)只添加了上面的代码,我看到了一个重大的内存泄漏,不幸的是仪器没有捕捉到。通常,当应用程序启动时,它会在内存中闲置大约 8-9 mgbts。添加 Geofire 代码后,我看到稳步增长,并将继续增长。我隐藏了所有更改以删除任何 geofire 代码,它消除了泄漏,所以我知道它与此有关。我有一种感觉,我的两个问题都非常相关。
对此的任何帮助或想法将不胜感激!
更新:似乎我正在做的任何事情都在阻止 Firebase 进行其他更新。实现此代码时,如果我直接删除 firebase 上的子项,则无法弹出通常会立即执行的 childRemoved 通知。
ios - 同时从 Firebase 检索多个键的数据?
在我的 Firebase 数据库中,我存储汽车,它们的密钥是使用childByAutoId
. 例如:
我GeoFire
用来根据地理位置查询汽车。每个位置(由 创建GeoFire
)使用相同的自动 ID 作为键。在初始位置查询之后,我想检索有关位置查询返回的汽车的信息。有没有办法指定一组 ids/values,这样我就可以在一个请求中获取所有数据,而不是一个一个地请求?
android - 如何在 Firebase 中保存数据以及 GeoFire 位置?
我正在开发一个 android 应用程序,我想在其中保存带有GeoFire
位置的数据,然后根据位置获取它。
问题是我不确定如何保存数据以及GeoFire
位置,尽管我可以使用.push().setValue()
方法保存它。
我实际上没有代码,因为我不知道如何做我想做的事。
请告诉我。
抱歉,如果问题似乎格式错误。我在这里仍然是初学者。
ios - 使用 Firebase 和 GeoFire 使用 Radius 检索位置数据
我正在尝试使用 GeoFire 来检索并根据半径(例如,10 公里距离内的所有内容)。
为了清楚起见,我将详细信息和位置分别保存在数据库中,因此详细信息的 id 与位置的 id 相同。在保存数据时,我使用:
直到这里,数据库中的一切似乎都很好。
在检索数据时,从核心位置获取用户的纬度和经度后,我正在尝试:
第一个问题出现在这里observeEventType()
。我不想连续观察事件。相反,就像经典的 TableView 一样,我想检索一次数据并显示,并使用“拉动刷新”功能重新检索数据。我的第一个问题是,GeoFire 是否有任何功能可以像observeSingleEventOfType
Firebase 一样工作并检索一次数据?
其次,此功能会打印此警告几次:
[Firebase] 使用未指定的索引。考虑将 /checkpointLocations 中的 ".indexOn": "g" 添加到您的安全规则中以获得更好的性能
..但不记录任何其他内容。我不认为它进入函数内部,因为它不打印该print("Key..
部分。它也没有print("A")
。
我认为这可能是由于“Firebase 规则”引起的。在 SO 上使用这个答案,我尝试添加这个:
还有这个:
但两者都不起作用。
更新:
使用@Gregg 的回答,我修复了警告,但是,它仍然没有进入闭包内。
firebase - 带有升级版 Firebase 的 Geofire 和 FirebaseUI
我在我的应用程序中使用 Geofire 和 FirebaseUI。
在如何升级到新的 Firebase SDK 的文档中,它说我需要 Geofire 1.2.x 或更高版本。但是,这在 cocoapods 中尚不可用。什么时候可以使用?
另外,我需要升级 Firebase 用户界面吗?我该怎么做?似乎很多身份验证代码现在已经过时了,所以 FirebaseUI 需要升级是有道理的。
更新
使用 FirebaseUI,我在终端中得到以下输出:
使用 Geofire,我在终端中得到以下输出:
node.js - 尝试将 Firebase 版本回滚到 2.X
我最近更新到新的 Firebase 3,但不幸的是,据我所知,它目前不支持 Geofire 查询,这在我的应用程序中很重要,我已经将应用程序中的所有其他内容都滚动到使用 firebase 2 但是当我尝试将我的应用程序部署到 Firebase 托管我收到一条错误消息:
“错误:无法授权访问项目
注意:此版本的 Firebase CLI 仅与升级到新 Firebase 控制台的项目兼容。要访问 firebase.com 应用程序,您需要使用以前的版本:npm install -g firebase-tools@^2.1"
所以然后我尝试运行 npm install -g firebase-tools@^2.1 但是当我尝试 firebase -V 它仍然说我使用的是 3.0 版。我还尝试运行返回 unbuild firebase@3.0.1 的 npm uninstall firebase 但如果我检查 firebase 版本它仍然显示 3.0.1,我似乎无法删除它,可能我最初将它安装在其他地方?我的想法已经用完了,请帮忙!
node.js - 如何在 node.js 中设置 Geofire
我是 NodeJS 的新手,也是 Geofire 的新手。所以,我想知道是否可以在 NodeJS 中设置 Geofire。我试图做以下事情:......
我无法正确设置 geofire 对象。我怎么能以正确的方式做到这一点?
swift - 按键检索 Firebase 对象
我正在使用 Geofire 来存储物品及其位置。
为了检索特定区域内的项目,我使用 Geofire 的地理查询:
结果是,正如预期的那样,指定区域中的键 - 我的问题是:我如何获取实际对象,以便我可以访问它具有的其余属性?
我正在做所有这些作为 UITableView 的一部分,因为我想在表格中显示我附近的对象(然后在地图上)
使用 geofire 填充 UITableView 的任何最佳实践也将受到赞赏。
谢谢!
ios - 使用 CocoaPods 添加 GeoFire 依赖项
我在 iOS 上使用 Firebase,我想添加 GeoFire。我正在按照此处的说明进行操作:https ://github.com/firebase/geofire-objc ,但是在将 pod 'GeoFire', '>=1.1' 添加到我的 podfile 并更新后,我得到了错误
我的 podfile 看起来像
我不确定这里发生了什么。