Geofire запускается на GeoQueryReady вместо OnKeyEntered - PullRequest
0 голосов
/ 20 октября 2018

Я хочу получить данные из базы данных Firebase с помощью запроса местоположения Geofire, но он просто вызывает onGeoQueryReady вместо onKeyEntered.

Я устанавливаю свое местоположение следующим образом

user = auth.getCurrentUser().getUid();
 GeoFire geoFire = new GeoFire(ref.child("businesLocation").child(Education).child(CoachingCenter));



 geoFire.setLocation(user, new GeoLocation(latitude, longitude), new GeoFire.CompletionListener() {
                @Override
                public void onComplete(String key, DatabaseError error) {




                }
            });




        }
    });

и получаю данные таким образом

GeoFire geoFire = new GeoFire(ref.child("businesLocation").child(Education).child(CoachingCenter));
GeoQuery geoQuery = geoFire.queryAtLocation((location), Raius);

geoQuery.addGeoQueryEventListener(new GeoQueryEventListener() {
        @Override
        public void onKeyEntered(String key, GeoLocation location) {
            getShoplist(key);
        }

        @Override
        public void onKeyExited(String key) {
            getShoplist(key);
        }

        @Override
        public void onKeyMoved(String key, GeoLocation location) {
        }

        @Override
        public void onGeoQueryReady() {
        }

        @Override
        public void onGeoQueryError(DatabaseError error) {
        }
    });

Этот запрос не получает данные.

Вот моя структура базы данных

enter image description here

Вот мои правила безопасности firebase

{"rules": {
".read": "auth != null",
".write": "auth != null"}}

Нужно ли менять защиту firebaseправила использования geofire?

Пожалуйста, помогите мне!

1 Ответ

0 голосов
/ 23 октября 2018

После изменения моих правил безопасности базы данных он начинает работать

 {
  "rules": {
    ".read": "auth != null",
    ".write": "auth != null",
    "geofire": {
      ".read": "true",
        ".indexOn": ["g"]
      }
    } 
}

он начинает извлекать данные сейчас. :)

...