我有两个firebase项目,一个用于用户应用程序,第二个用于驱动程序应用程序。我正在Firebase实时数据库上存储驱动程序应用程序的最新位置(经纬度)。现在,我想从我的用户应用程序在驱动程序的项目数据库上执行geoquery。我的问题是如何在另一个项目上执行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+"");
}
});
答案 0 :(得分:0)
如果您想稍后使用该名称查找应用实例,则需要为其命名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");
另请参阅using multiple projects in your application上的Firebase文档。