我正在用 angularjs 构建一个 webapp,并且正在使用 firebase。我正在使用 geofire 返回给定纬度、lng 的给定半径内的值。当半径中有值时,它可以正常工作并返回我想要的。但是,当半径区域中没有值时,它什么也不返回。这是一个问题,因为在初始页面加载时,我有一个微调器,它在承诺返回某些内容时开始和结束。如果给定半径中没有值,有没有办法让 geofire 返回空值?
这是我用来检索数据的代码:
geoQuery.on("key_entered", function(key, location, distance) {
console.log(key + " entered query at " + location + " (" + distance + " km from center)");
console.log(key);
},function(error) {
console.log("Promise was rejected with the following error: " + error);
});
});
除非在半径区域中找到某些东西,否则 console.log 将不会运行。我需要它仍然返回一些东西,所以我知道提醒用户在给定区域没有企业。任何帮助将不胜感激!
更新:
我添加了“就绪”事件,并认为它会触发“key_entered”事件,但它并没有因此让我回到第一方。
var onKeyExitedRegistration = geoQuery.on("key_exited", function(key, location, distance) {
console.log(key + " 退出查询到 " + location + " (" + distance + " km from center)"); });
geoQuery.on("ready",function() {
console.log(key + " moved within query to " + location + " (" + distance + " km from center)");
});