你如何從 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 資料庫規則中以獲得更好的性能
uj5u.com熱心網友回復:
對于代碼中的查詢,您需要在資料庫的安全規則中定義一個索引,如下所示:
{
"rules": {
...
"User's Location": {
".indexOn": "g"
}
}
}
另請參閱有關索引資料的 Firebase 檔案和具有相同錯誤訊息的先前問題。
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/534567.html
標籤:Google Cloud Collective 爪哇安卓firebase-实时数据库火力安全地火
