【发布时间】:2022-11-16 13:14:28
【问题描述】:
你如何从 firebase 中检索这个?
我正在尝试创建一个跟踪用户移动的应用程序,但我无法从 firebase 获取位置。我试过此代码,但出现以下消息。
private void getEndLocation(){
databaseReference = FirebaseDatabase.getInstance().getReference().child("User's Location");
geoFire = new GeoFire(databaseReference);
geoQuery = geoFire.queryAtLocation(new GeoLocation(adminCurrentLatitude,adminCurrentLongitude),10);
geoQuery .removeAllListeners();
geoQuery.addGeoQueryEventListener(new GeoQueryEventListener() {
@Override
public void onKeyEntered(String key, GeoLocation location) {
if(!userFound && requestType){
userFound = true;
userID = key;
Log.d("Location", "onKeyEntered: "+userID);
}
}
@Override
public void onKeyExited(String key) {
}
@Override
public void onKeyMoved(String key, GeoLocation location) {
}
@Override
public void onGeoQueryReady() {
}
@Override
public void onGeoQueryError(DatabaseError error) {
}
});
}
这是我收到的消息:
使用未指定的索引。您的数据将在客户端下载和过滤。考虑将“.indexOn”:“g”在用户位置添加到您的安全和 Firebase 数据库规则中以获得更好的性能
【问题讨论】:
标签: java android firebase-realtime-database firebase-security geofire