Я хочу получить данные из базы данных 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) {
}
});
Этот запрос не получает данные.
Вот моя структура базы данных
Вот мои правила безопасности firebase
{"rules": {
".read": "auth != null",
".write": "auth != null"}}
Нужно ли менять защиту firebaseправила использования geofire?
Пожалуйста, помогите мне!