GeoFire查询回调未触发

时间:2019-04-25 19:30:11

标签: node.js firebase firebase-realtime-database geofire

我正在尝试将geofire实现到我的firebase云函数之一中,无法理解为什么查询回调未触发。仪表板日志继续显示未返回任何内容或通过console.log()未记录的任何内容。

任何指导将不胜感激..以下是我的代码:

exports.test = functions.firestore.document('/x/{userId}').onWrite((change, context) => {
const userData = change.after.exists ? change.after.data() : null;
const geoPoint = userData.location;
const lat = geoPoint._latitude;
const long = geoPoint._longitude;

var geoFireRef = firebase.database().ref('geoLocations');
var geoFire = new GeoFire(geoFireRef);

const circle = geoFire.query({
  center: [lat, long],
  radius: 0.5
});

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

circle.on('ready', function() {
  console.log('ready');
  return;
});
});

1 个答案:

答案 0 :(得分:1)

代码没有错。我发现问题是通过设置规则发现的,该规则首先阻止了geofire查询的执行。