如何从数据库

时间:2016-04-11 16:52:41

标签: android firebase geofire

我想从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); 
        } 
    } 

它将从当前视图中删除,但当我刷新位置时,车辆就在那里。

1 个答案:

答案 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");