0
Firebase 데이터베이스에서 모든 마커를 가져올 수 있습니다. 하지만 Google지도 클러스터링 라이브러리를 사용하여 이러한 마커를 플롯해야합니다. 현재 내지도는 Firebase 데이터베이스의 마커를 표시 할 수 없습니다. Google지도 클러스터를 사용하여 firebase 데이터베이스의 모든 마커를 표시합니다.
이
항목private void addItems() {
DatabaseReference mapsrefrence=FirebaseDatabase.getInstance().getReference().child("wr");
mapsrefrence.child("pubs").addListenerForSingleValueEvent(
new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
if (dataSnapshot.hasChildren()) {
for (DataSnapshot postSnapshot: dataSnapshot.getChildren()) {
// TODO: handle the post
LocationModel location = postSnapshot.getValue(LocationModel.class);
double latitude = location.getLat();
double longitude = location.getLng();
MyItem offsetItem = new MyItem(latitude, longitude);
mClusterManager.addItem(offsetItem);
}
}
}
@Override
public void onCancelled(DatabaseError databaseError) {
Log.w(TAG, "getUser:onCancelled", databaseError.toException());
}
});
}
이 내 클러스터 방법
private void setUpClusterer() {
// Position the map.
mMap.moveCamera(CameraUpdateFactory.newLatLngZoom(new LatLng(50.28626380000001, 19.104079100000035), 10));
// Initialize the manager with the context and the map.
// (Activity extends context, so we can pass 'this' in the constructor.)
mClusterManager = new ClusterManager<MyItem>(this, mMap);
// Point the map's listeners at the listeners implemented by the cluster
// manager.
mMap.setOnCameraIdleListener(mClusterManager);
mMap.setOnMarkerClickListener(mClusterManager);
// Add cluster items (markers) to the cluster manager.
addItems();
}
이 내가
@Override
public void onMapReady(GoogleMap googleMap) {
mMap = googleMap;
setUpClusterer();
//displayClubLocations();
}