markerclusterer/src/markerclusterer.js
function ClusterIcon(cluster, styles, opt_padding) {
  cluster.getMarkerClusterer().extend(ClusterIcon, google.maps.OverlayView);

  this.styles_ = styles;
  this.padding_ = opt_padding || 0;
  this.cluster_ = cluster;
  this.center_ = null;
  this.map_ = cluster.getMap();
  this.div_ = null;
  this.sums_ = null;
  this.visible_ = false;

  this.setMap(this.map_);
}
function ClusterIcon(cluster, styles, opt_padding) {
  cluster.getMarkerClusterer().extend(ClusterIcon, google.maps.OverlayView);

  this.styles_ = styles;
  this.padding_ = opt_padding || 0;
  this.cluster_ = cluster;
  this.center_ = null;
  this.map_ = cluster.getMap();
  this.div_ = null;
  this.sums_ = null;
  this.visible_ = false;

  this.setMap(this.map_);
}
function ClusterIcon ( cluster , styles , opt_padding ) { cluster . getMarkerClusterer ( ) . extend ( ClusterIcon , google . maps . OverlayView ) ; this . styles_ = styles ; this . padding_ = opt_padding || 0 ; this . cluster_ = cluster ; this . center_ = null ; this . map_ = cluster . getMap ( ) ; this . div_ = null ; this . sums_ = null ; this . visible_ = false ; this . setMap ( this . map_ ) ; }
A cluster icon

@param {Cluster} cluster The cluster to be associated with.
@param {Object} styles An object that has style properties:
'url': (string) The image url.
'height': (number) The image height.
'width': (number) The image width.
'anchor': (Array) The anchor position of the label text.
'textColor': (string) The text color.
'textSize': (number) The text size.
'backgroundPosition: (string) The background postition x, y.
@param {number=} opt_padding Optional padding to apply to the cluster icon.
@constructor
@extends google.maps.OverlayView
@ignore
A cluster icon