Javascript 如何获取GeoFire初始值

Javascript 如何获取GeoFire初始值,javascript,firebase,firebase-realtime-database,geocoding,geofire,Javascript,Firebase,Firebase Realtime Database,Geocoding,Geofire,我有点不舒服 我的应用程序中有两种不同类型的用户。用户和工人。 基本上,用户发布作业,工人可以看到这些作业。但我只想向与当前用户关系密切的员工展示工作 因此,在创建作业并将其提交给firebase后,我正在从用户客户端向geofire查询,以获取他周围的所有用户: function getNearbyUsers(job) { let ref = firebase.database().ref('/geofire/workerUsers'); let geoFire = new GeoF

我有点不舒服

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

因此,在创建作业并将其提交给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)");
  });
}
现在在我看来,我只能听进入te查询区的键和离开它的键。那太好了

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

这是我在数据库中的某个虚拟工作者用户的图片,显然是在查询区域中


很抱歉,如果它很明显,我遗漏了一些内容。

当您创建地理查询时,输入的
键将立即为范围内的每个键触发事件


政府确实没有明确提到这一点。但是当你运行代码时,你会看到它会立即给你相关的键。

这是我做的假设,但是我看到正在调用getNearbyUsers函数,但是没有触发任何回调:/is
ready
也没有触发吗?如果是这样,请检查浏览器的开发控制台是否有错误。否,准备就绪未触发。我检查了控制台。我正在我的react原生应用程序中使用geofire。但我见过使用它的react原生应用程序的例子,所以我不认为这是这里的问题。问题是我的db规则。由于doc函数不捕捉错误,我在控制台中没有看到任何内容。谢谢你的帮助,弗兰克!:)API文档中提供的函数显然不会控制台日志错误,因为当我试图从未经授权的位置读取时,我不会像通常那样收到警告。