Запрос данных Firebase, связанных с GeoFire

Прочитав эти вопросы:

Связать местоположение Geofire с записью Firebase

Фильтрация результатов с помощью Geofire + Firebase

Я понимаю, что для данного экземпляра данные о местоположении и обычные данные для этого объекта должны храниться отдельно, и поэтому у меня должны быть разные слушатели. Первый, чтобы найти данные о местоположении, а затем по одному для каждого из объектов, соответствующих найденным по запросу местоположения.

Однако мой вопрос касается прослушивателей самих фактических данных, а не данных о местоположении. В качестве примера предположим, что у меня есть приложение, которое находит список объектов «Ресторан» рядом с текущим местоположением пользователя. Я понимаю, что это должно быть сделано с помощью GeoFire, но необходимо ли иметь один прослушиватель событий для каждого из возвращенных снимков для получения дополнительных данных?

Чтобы уточнить, что, если я хочу знать, когда меняются какие-либо другие аспекты ресторана (рейтинг, часы работы, свободные места)? Один слушатель значения события не будет этого делать, поскольку он не будет отслеживать постоянные изменения в этих ресторанах.

Что было бы лучшим способом сделать это?


person Jacob    schedule 04.02.2016    source источник
comment
Лучший способ действительно прикрепить слушателей. Обычно это слушатели с одним значением, но обычные слушатели также будут работать. Только не слушайте тысячи ресторанов, которые в любом случае привели бы к огромному количеству данных на экране iPhone.   -  person Frank van Puffelen    schedule 04.02.2016
comment
@FrankvanPuffelen около 50 слушателей подойдет? Я не ожидаю показать больше результатов, чем это для начала. Кроме того, просто чтобы уточнить, если я создаю рестораны с помощью childbyautoid, этот же идентификатор будет ключом для информации GeoFire для соответствующего ресторана?   -  person Jacob    schedule 04.02.2016
comment
Вы можете использовать любой ключ. Geofire просто связывает ключ, который вы ему даете, с указанным вами местоположением.   -  person Frank van Puffelen    schedule 04.02.2016
comment
@FrankvanPuffelen Но использование одного и того же ключа облегчило бы их связывание, когда мне нужно знать, для каких ссылок добавлять слушателей, верно?   -  person Jacob    schedule 04.02.2016
comment
Ага. На самом деле, я бы не знал, как вы их свяжете, если используете разные ключи. ;-)   -  person Frank van Puffelen    schedule 04.02.2016
comment
@FrankvanPuffelen Как определить, был ли удален один из этих ключей в расположении данных. Использую ли я прослушиватель значений? Я не уверен, вызывается ли это при удалении ключа.   -  person Jacob    schedule 05.02.2016
comment
Ты уже придаешь значение слушателю, не так ли. Те будут стрелять. Если у вас возникли проблемы, вам поможет mcve.   -  person Frank van Puffelen    schedule 05.02.2016
comment
@FrankvanPuffelen Но прослушиватель значений не сообщит мне, были ли удалены данные в этом месте, не так ли?   -  person Jacob    schedule 06.02.2016
comment
Он сработает со значением null, когда значение будет удалено. Но вы можете протестировать все это, написав минимальный фрагмент кода. Если это не сработает: опубликуйте код, и все это будет намного менее теоретическим.   -  person Frank van Puffelen    schedule 06.02.2016