所以现在我的当前位置半径为1000米,所以我希望显示数据库中距当前位置半径1000米以内的所有位置。
geoFire.setLocation("You", new GeoLocation(latitude, longtitude),
new GeoFire.CompletionListener() {
@Override
public void onComplete(String key, DatabaseError error) {
//Add Marker
if(mCurrent != null)
mCurrent.remove(); // Remove old marker
mCurrent = mMap.addMarker(new MarkerOptions()
.position(new LatLng(latitude,longtitude))
.title("You"));
radius= new LatLng(latitude,longtitude);
mMap.addCircle(new CircleOptions()
.center(radius)
.radius(1000) // in Metters
.strokeColor(Color.BLUE)
.fillColor(0x220000FF)
.strokeWidth(5.0f)
);
答案 0 :(得分:0)
您的geoFire.setLocation
用键“您”保存了您的位置。
如果您显示数据库结构,那将是很好的。
但是要获取某个半径范围内的保存位置,您需要执行以下操作:
GeoFire geoFire = new GeoFire(FirebaseDatabase.getInstance().getReference().child(GEOFIRE_PATH));
GeoQuery geoQuery = geoFire
.queryAtLocation(new GeoLocation(myLocation.latitude, myLocation.longitude), RADIUS);
geoQuery.addGeoQueryDataEventListener(new GeoQueryDataEventListener() {
...onData methods
}