title: ClusterManager on Android not always working as it should
body: <p>I was trying to create a custom marker with Clusters on android maps. So I created the <code>MarkerCluster</code> clas and the <code>ClusterManagerRender</code> and it does render on the map, the problem is, it's not always that it does. I'm not sure if there's a default value, because right now, besides the current Marker for the user position, there's only two locations on the map, and it's showing only one !</p>
  
  <pre><code>public class MarkerCluster implements ClusterItem {
  private LatLng position;
  private String title;
  private String snippet;
  private String image;
  private Model model;
  
  public MarkerCluster(LatLng position, String title, String snippet, String image, Model model) {
      this.position = position;
      this.title = title;
      this.snippet = snippet;
      this.image = image;
      this.model = model;
  }
  public MarkerCluster(){}
  
  @Override
  public LatLng getPosition() {
      return position;
  }
  
  public void setPosition(LatLng position) {
      this.position = position;
  }
  
  @Override
  public String getTitle() {
      return title;
  }
  
  public void setTitle(String title) {
      this.title = title;
  }
  
  @Override
  public String getSnippet() {
      return snippet;
  }
  
  public void setSnippet(String snippet) {
      this.snippet = snippet;
  }
  
  public String getImage() {
      return image;
  }
  
  public void setImage(String image) {
      this.image = image;
  }
  
  public Model getModel() {
      return model;
  }
  
  public void setModel(Model model) {
      this.model = model;
  }
  </code></pre>
  
  <p>The manager :</p>
  
  <pre><code>public class ClusterManagerRender extends DefaultClusterRenderer&lt;MarkerCluster&gt; {
  private final IconGenerator iconGenerator;
  private final ImageView imageView;
  private final int markerWidth;
  private final int markerHeight;
  
  
  public ClusterManagerRender(Context context, GoogleMap map, ClusterManager&lt;MarkerCluster&gt; clusterManager) {
      super(context, map, clusterManager);
  
      iconGenerator = new IconGenerator(context.getApplicationContext());
      imageView = new ImageView(context.getApplicationContext());
      markerWidth = (int) context.getResources().getDimension(R.dimen.custom_marker_image);
      markerHeight = (int) context.getResources().getDimension(R.dimen.custom_marker_image);
      imageView.setLayoutParams(new ViewGroup.LayoutParams(markerWidth,markerHeight));
      int padding = (int) context.getResources().getDimension(R.dimen.custom_marker_padding);
      imageView.setPadding(padding,padding,padding,padding);
      iconGenerator.setContentView(imageView);
  
  }
  
  @Override
  protected void onBeforeClusterItemRendered(MarkerCluster item, MarkerOptions markerOptions) {
      Picasso.get().load(item.getImage()).into(imageView);
      Bitmap bitmap = iconGenerator.makeIcon();
      markerOptions.icon(BitmapDescriptorFactory.fromBitmap(bitmap)).title(item.getTitle());
  }
  
  @Override
  protected boolean shouldRenderAsCluster(Cluster&lt;MarkerCluster&gt; cluster) {
      return false;
  }
  </code></pre>
  
  <p>And the response from the server :</p>
  
  <pre><code>private void DrawPinsOnMap(List&lt;com.corp.barros.brasil.initiallocation.Model&gt; list){
      if(clusterManager == null){
          clusterManager = new ClusterManager&lt;MarkerCluster&gt;(getApplicationContext(),mMap);
      }
      if(clusterManagerRender == null){
          clusterManagerRender = new ClusterManagerRender(getApplicationContext(),mMap,clusterManager);
          clusterManager.setRenderer(clusterManagerRender);
      }
  
      clusterManager.setOnClusterItemClickListener(new ClusterManager.OnClusterItemClickListener&lt;MarkerCluster&gt;() {
          @Override
          public boolean onClusterItemClick(MarkerCluster markerCluster) {
              com.corp.barros.brasil.initiallocation.Model mm = markerCluster.getModel();
  
              return false;
          }
  
  
      });
  
      for (com.corp.barros.brasil.initiallocation.Model m: list) {
          String ti = null;
          String sn = null;
  
          if(m.getName() != null){
              ti = m.getName();
          }else {
              ti = "Anônimo";
          }
  
  
          MarkerCluster markerCluster = new MarkerCluster(new LatLng(m.getLat(),m.getLong()),ti,m.getTitle(),m.getUrl(),m);
          clusterManager.addItem(markerCluster);
          markerClusters.add(markerCluster);
      }
  }
  </code></pre>