如果半径区域内没有索引,则将 GeoFire 设置为 return null
Get GeoFire to return null if there is no index within radius zone
我正在使用 angularjs 构建一个网络应用程序并使用 firebase。我将 geofire 用于给定纬度、经度的给定半径内的 return 值。当半径中有值时,它完全可以工作并且 return 是我想要的。但是,当半径区域中没有值时,它 return 什么都没有。这是一个问题,因为在初始页面加载时,我有一个微调器,它在承诺中 returned 时开始和结束。如果给定半径内没有值,有没有办法让 geofire return 为空值?
这是我用来检索数据的代码:
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 不会 运行 除非在半径区域中发现某些东西。我需要它仍然 return 一些东西,所以我知道提醒用户在给定区域没有企业。任何帮助将不胜感激!
更新:
我添加了 'ready' 事件,并认为它会触发 'key_entered' 事件,但它并没有因此让我回到原点。
var onKeyExitedRegistration = geoQuery.on("key_exited", function(key, location, distance) {
console.log(key + " exited query to " + location + " (" + distance + " km from center)");
});
geoQuery.on("ready",function() {
console.log(key + " moved within query to " + location + " (" + distance + " km from center)");
});
key_entered
事件只会在键输入地理查询时触发。因此,如果没有键输入查询,它将永远不会触发。
要检查 any 键最初是否在地理查询中,您可以侦听 ready
事件。这会在初始数据加载后触发,因此:
var keysEntered = false;
geoQuery.on("key_entered", function(key, location, distance) {
console.log(key + " entered query at " + location + " (" + distance + " km from center)");
keysEntered = true;
},function(error) {
console.log("Promise was rejected with the following error: " + error);
});
});
geoQuery.on("ready", function() {
console.log("initial data has loaded");
if (!keysEntered) {
console.log("There was no initial data, so there are no business in range (yet).");
}
});
有关详细信息,请参阅 API reference of Geofire for JavaScript。
我正在使用 angularjs 构建一个网络应用程序并使用 firebase。我将 geofire 用于给定纬度、经度的给定半径内的 return 值。当半径中有值时,它完全可以工作并且 return 是我想要的。但是,当半径区域中没有值时,它 return 什么都没有。这是一个问题,因为在初始页面加载时,我有一个微调器,它在承诺中 returned 时开始和结束。如果给定半径内没有值,有没有办法让 geofire return 为空值?
这是我用来检索数据的代码:
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 不会 运行 除非在半径区域中发现某些东西。我需要它仍然 return 一些东西,所以我知道提醒用户在给定区域没有企业。任何帮助将不胜感激!
更新:
我添加了 'ready' 事件,并认为它会触发 'key_entered' 事件,但它并没有因此让我回到原点。
var onKeyExitedRegistration = geoQuery.on("key_exited", function(key, location, distance) {
console.log(key + " exited query to " + location + " (" + distance + " km from center)"); });
geoQuery.on("ready",function() {
console.log(key + " moved within query to " + location + " (" + distance + " km from center)");
});
key_entered
事件只会在键输入地理查询时触发。因此,如果没有键输入查询,它将永远不会触发。
要检查 any 键最初是否在地理查询中,您可以侦听 ready
事件。这会在初始数据加载后触发,因此:
var keysEntered = false;
geoQuery.on("key_entered", function(key, location, distance) {
console.log(key + " entered query at " + location + " (" + distance + " km from center)");
keysEntered = true;
},function(error) {
console.log("Promise was rejected with the following error: " + error);
});
});
geoQuery.on("ready", function() {
console.log("initial data has loaded");
if (!keysEntered) {
console.log("There was no initial data, so there are no business in range (yet).");
}
});
有关详细信息,请参阅 API reference of Geofire for JavaScript。