Geofire 正在触发 onGeoQueryReady 而不是 onKeyEntered
Geofire is trigring onGeoQueryReady instead of onKeyEntered
我想使用 geofire 位置查询从 firebase 数据库检索数据,但它只是触发 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 吗?
请帮帮我!
更改我的数据库安全规则后它开始工作
{
"rules": {
".read": "auth != null",
".write": "auth != null",
"geofire": {
".read": "true",
".indexOn": ["g"]
}
}
}
它现在开始获取数据。:)
我想使用 geofire 位置查询从 firebase 数据库检索数据,但它只是触发 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 吗?
请帮帮我!
更改我的数据库安全规则后它开始工作
{
"rules": {
".read": "auth != null",
".write": "auth != null",
"geofire": {
".read": "true",
".indexOn": ["g"]
}
}
}
它现在开始获取数据。:)