我正在尝试将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;
});
});
代码没有任何问题。我发现问题是通过设置规则发现的,这些规则阻止了geofire查询首先执行。