gpt4 book ai didi

javascript - 如何获取初始 GeoFire 值

转载 作者:行者123 更新时间:2023-12-03 03:37:44 25 4
gpt4 key购买 nike

我在 geofire-js 上遇到了一些问题.

我的应用程序中有两种不同类型的用户。用户和 worker 。基本上,用户发布的职位和工作人员都可以看到这些职位。但我只想向与当前用户关系密切的工作人员显示职位。

因此,在创建作业并将其提交到 firebase 后,我从用户客户端向 geofire 进行查询,以获取他周围的所有用户:

function getNearbyUsers(job) {
let ref = firebase.database().ref('/geofire/workerUsers');

let geoFire = new GeoFire(ref);

let geoQuery = geoFire.query({
center: [job.lat, job.lng],
radius: 4
});

// How do I get initial data from here?

geoQuery.on("ready", function() {
console.log("GeoQuery has loaded and fired all other events for initial data");
});

geoQuery.on("key_entered", function(key, location, distance) {
console.log(key + " entered query at " + location + " (" + distance + " km from center)");
});

geoQuery.on("key_exited", function(key, location, distance) {
console.log(key + " exited query to " + location + " (" + distance + " km from center)");
});

geoQuery.on("key_moved", function(key, location, distance) {
console.log(key + " moved within query to " + location + " (" + distance + " km from center)");
});
}

现在在我看来,我只能监听移入查询区域的按键以及离开查询区域的按键。太棒了。

但是我如何获取初始数据? (来自已在查询区域内的用户)

这是我在数据库中的一些虚拟 WORKER 用户的图片,它显然位于查询区域内。

enter image description here

如果它很明显并且我错过了一些东西,我很抱歉。

最佳答案

当您创建地理查询时,key_entered 事件会立即针对范围内已有的每个键触发。

documentation确实没有明确提及这一点。但是当您运行代码时,您会发现它立即为您提供了相关的 key 。

关于javascript - 如何获取初始 GeoFire 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45773287/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com