我想从geoFire中完全删除车辆,但是当我运行时:
@Override
public void onKeyExited(String key) {
// Remove any old marker
Marker marker = this.markers.get(key);
if (marker != null) {
marker.remove();
this.markers.remove(key);
}
}
它将从当前视图中删除,但当我刷新位置时,车辆就在那里。
答案 0 :(得分:1)
您当前的代码只是从应用程序中删除标记,它不会从数据库中删除任何数据。要移除车辆,您需要执行与添加车辆时相反的操作。
来自GeoFire for Java documentation on setting location data:
要设置密钥的位置,只需调用
setLocation()
方法即可。该方法作为字符串传递密钥,并将位置作为GeoLocation
对象传递,包含位置的纬度和经度:
geoFire.setLocation("firebase-hq", new GeoLocation(37.7853889, -122.4056973));
要删除某个位置并将其从数据库中删除,只需将该位置的密钥传递给removeLocation:
geoFire.removeLocation("firebase-hq");