title: Does the Google Maps Android API Utility Cluster Manager have a minimum number of markers before it will create a cluster?
body: <p>I am using the Google Maps Android API Utility Library to enable clustering in my app.  When five or more markers are co-located a cluster is created:  <img src="https://i.stack.imgur.com/fkmEF.png" alt="enter image description here"></p>
  
  <p>Four or fewer similarly co-located markers won't create a cluster:
  <img src="https://i.stack.imgur.com/wbkNm.png" alt="enter image description here"></p>
  
  <p>Is this by design or am I doing something wrong, because my maps have 2, 3 or 4 markers that clearly overlap, but won't form a cluster?</p>
  
  <p>The code to demonstrate the problem:</p>
  
  <p>Map layout:</p>
  
  <pre><code>&lt;?xml version="1.0" encoding="utf-8"?&gt;
  &lt;fragment xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:map="http://schemas.android.com/apk/res-auto"
        android:id="@+id/map"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:name="com.google.android.gms.maps.SupportMapFragment"/&gt;
  </code></pre>
  
  <p>Activity:</p>
  
  <pre><code>    package com.example.android.clusteringminima;
  
      import android.os.Bundle;
      import android.support.v4.app.FragmentActivity;
  
      import com.google.android.gms.maps.CameraUpdateFactory;
      import com.google.android.gms.maps.GoogleMap;
      import com.google.android.gms.maps.SupportMapFragment;
      import com.google.android.gms.maps.model.LatLng;
      import com.google.maps.android.clustering.ClusterItem;
      import com.google.maps.android.clustering.ClusterManager;
  
      public class ClusteringMinimaTest extends FragmentActivity {
  
      private GoogleMap mMap;
      private ClusterManager&lt;Place&gt; mClusterManager;
  
      public class Place implements ClusterItem {
          private final LatLng mPosition;
  
          public Place(double lat, double lng) {
              mPosition = new LatLng(lat, lng);
          }
  
          @Override
          public LatLng getPosition() {
              return mPosition;
          }
      }
  
      @Override
      public void onCreate(Bundle savedInstanceState) {
          super.onCreate(savedInstanceState);
          setContentView(R.layout.map);
          setUpMapIfNeeded();
      }
  
      @Override
      protected void onResume() {
          super.onResume();
          setUpMapIfNeeded();
      }
  
      private void setUpMapIfNeeded() {
          if (mMap != null) {
              return;
          }
          mMap = ((SupportMapFragment) getSupportFragmentManager().findFragmentById(R.id.map)).getMap();
          if (mMap != null) {
              mClusterManager = new ClusterManager&lt;Place&gt;(this, mMap);
              mMap.setOnCameraChangeListener(mClusterManager);
  
              // Cluster of 4 or 5
              mClusterManager.addItem(new Place(51.471524, -0.454280));
              mClusterManager.addItem(new Place(51.471311, -0.452257));
              mClusterManager.addItem(new Place(51.471510, -0.453514));
              mClusterManager.addItem(new Place(51.471710, -0.453714));
              // Remove this item to create a group of four
              mClusterManager.addItem(new Place(51.471810, -0.453714));
  
              // Cluster of 9 (depending on zoom level)
              mClusterManager.addItem(new Place(51.517399, -0.177480));
              mClusterManager.addItem(new Place(51.509899, -0.134180));
              mClusterManager.addItem(new Place(51.495708, -0.144370));
              mClusterManager.addItem(new Place(51.496112, -0.144162));
              mClusterManager.addItem(new Place(51.512458, -0.118644));
              mClusterManager.addItem(new Place(51.518600, -0.081300));
              mClusterManager.addItem(new Place(51.530449, -0.125480));
              mClusterManager.addItem(new Place(51.513008, -0.088430));
              mClusterManager.addItem(new Place(51.505001, -0.086000));
  
              mMap.moveCamera(CameraUpdateFactory.newLatLngZoom(new LatLng(51.5, -0.35), 9));        
          }
      }
  }
  </code></pre>