我正在尝试将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;
});
});
答案 0 :(得分:1)
代码没有错。我发现问题是通过设置规则发现的,该规则首先阻止了geofire查询的执行。