Я создаю веб-приложение с angularjs и использую firebase. Я использую geofire для возврата значений, которые находятся в пределах заданного радиуса заданной широты, долготы. Он полностью работает и возвращает то, что я хочу, когда в радиусе есть значения. Однако, когда в зоне радиуса нет значений, он ничего не возвращает. Это проблема, потому что при начальной загрузке страницы у меня есть счетчик, который запускается и заканчивается, когда что-то возвращается в обещании. Есть ли способ заставить 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 (ключ + завершенный запрос + местоположение + ( + расстояние + км от центра)); });
geoQuery.on("ready",function() {
console.log(key + " moved within query to " + location + " (" + distance + " km from center)");
});