-1

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

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

4

1 回答 1

1

您当前的代码只是从应用程序中删除标记,它不会从数据库中删除任何数据。要移除车辆,您的操作与添加车辆时的操作相反。

来自关于设置位置数据的 GeoFire for Java 文档

要设置键的位置,只需调用该setLocation()方法。该方法将键作为字符串传递,将位置作为GeoLocation包含位置纬度和经度的对象传递:

geoFire.setLocation("firebase-hq", new GeoLocation(37.7853889, -122.4056973));

要删除一个位置并将其从数据库中删除,只需将该位置的密钥传递给 removeLocation:

geoFire.removeLocation("firebase-hq");
于 2016-04-11T17:00:40.777 回答