Как использовать Geoquery в другом проекте с базой данных Geofire в реальном времени в Android? - PullRequest
0 голосов
/ 22 апреля 2019

У меня есть 2 проекта Firebase, один для пользовательского приложения и второй для приложения драйвера. Я храню последнее местоположение (lat-long) приложения драйвера в базе данных реального времени firebase. Теперь я хочу выполнить geoquery для базы данных проекта драйвера из моего пользовательского приложения. Мой вопрос заключается в том, как выполнить geoquery для другого проекта. Я хочу получить список драйверов из пользовательского приложения с помощью геоквартиры (в обход текущей позиции пользователя, чтобы найти ближайший драйвер)

    FirebaseOptions options = new FirebaseOptions.Builder().setApplicationId("1:my_App_ID").setApiKey("AIza_My_API_KEY").setDatabaseUrl("https://My_URL.firebaseio.com/").build();   
    FirebaseApp.initializeApp(this , options);

    FirebaseApp app = FirebaseApp.getInstance("xyz");
    FirebaseDatabase secondaryDatabase FirebaseDatabase.getInstance(app);
    DatabaseReference data = secondaryDatabase.getInstance().getReference().child("Drivers Available");
    GeoFire geoFire = new GeoFire(data);
    GeoQuery geoQuery = geoFire.queryAtLocation(new GeoLocation(21.11626328, 79.051096406), 1);
    geoQuery.addGeoQueryEventListener(new GeoQueryEventListener() {
        @Override
        public void onKeyEntered(String key, GeoLocation location) {
            Log.d("test_geolocation",key);
        }

        @Override
        public void onKeyExited(String key) {}

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

        @Override
        public void onGeoQueryReady() {

        }
        @Override
        public void onGeoQueryError(DatabaseError error) {
            Log.d("errorGeoQuery",error+"");
        }
    });

1 Ответ

0 голосов
/ 22 апреля 2019

Вам нужно дать вашему экземпляру приложения имя xyz, если вы хотите найти его по этому имени позже.

Что-то вроде:

FirebaseOptions options = new FirebaseOptions.Builder().setApplicationId("1:my_App_ID").setApiKey("AIza_My_API_KEY").setDatabaseUrl("https://My_URL.firebaseio.com/").build();   
FirebaseApp.initializeApp(this , options, "xyz");

FirebaseApp app = FirebaseApp.getInstance("xyz");

Также смотрите документацию Firebase по , используя несколько проектов в вашем приложении .

...