function MarkerClusterer(map, markers, options) {
        if (markers === void 0) { markers = []; }
        if (options === void 0) { options = {}; }
        var _this = _super.call(this) || this;
        _this.options = options;
        _this.markers_ = [];
        _this.clusters_ = [];
        _this.listeners_ = [];
        _this.activeMap_ = null;
        _this.ready_ = false;
        _this.ariaLabelFn = _this.options.ariaLabelFn || (function () { return ""; });
        _this.zIndex_ = _this.options.zIndex || Number(google.maps.Marker.MAX_ZINDEX) + 1;
        _this.gridSize_ = _this.options.gridSize || 60;
        _this.minClusterSize_ = _this.options.minimumClusterSize || 2;
        _this.maxZoom_ = _this.options.maxZoom || null;
        _this.styles_ = _this.options.styles || [];
        _this.title_ = _this.options.title || "";
        _this.zoomOnClick_ = getOption(_this.options, "zoomOnClick", true);
        _this.averageCenter_ = getOption(_this.options, "averageCenter", false);
        _this.ignoreHidden_ = getOption(_this.options, "ignoreHidden", false);
        _this.enableRetinaIcons_ = getOption(_this.options, "enableRetinaIcons", false);
        _this.imagePath_ = _this.options.imagePath || MarkerClusterer.IMAGE_PATH;
        _this.imageExtension_ = _this.options.imageExtension || MarkerClusterer.IMAGE_EXTENSION;
        _this.imageSizes_ = _this.options.imageSizes || MarkerClusterer.IMAGE_SIZES;
        _this.calculator_ = _this.options.calculator || MarkerClusterer.CALCULATOR;
        _this.batchSize_ = _this.options.batchSize || MarkerClusterer.BATCH_SIZE;
        _this.batchSizeIE_ = _this.options.batchSizeIE || MarkerClusterer.BATCH_SIZE_IE;
        _this.clusterClass_ = _this.options.clusterClass || "cluster";
        if (navigator.userAgent.toLowerCase().indexOf("msie") !== -1) {
            // Try to avoid IE timeout when processing a huge number of markers:
            _this.batchSize_ = _this.batchSizeIE_;
        }
        _this.setupStyles_();
        _this.addMarkers(markers, true);
        _this.setMap(map); // Note: this causes onAdd to be called
        return _this;
    }
/**
     * Creates a MarkerClusterer object with the options specified in {@link MarkerClustererOptions}.
     * @param map The Google map to attach to.
     * @param markers The markers to be added to the cluster.
     * @param options The optional parameters.
     */
Creates a MarkerClusterer object with the options specified in  MarkerClustererOptions.
@param map The Google map to attach to.
@param markers The markers to be added to the cluster.
@param options The optional parameters.
Creates a MarkerClusterer object with the options specified in MarkerClustererOptions . @param map The Google map to attach to . @param markers The markers to be added to the cluster . @param options The optional parameters .
function MarkerClusterer(map, markers, options) {
        if (markers === void 0) { markers = []; }
        if (options === void 0) { options = {}; }
        var _this = _super.call(this) || this;
        _this.options = options;
        _this.markers_ = [];
        _this.clusters_ = [];
        _this.listeners_ = [];
        _this.activeMap_ = null;
        _this.ready_ = false;
        _this.ariaLabelFn = _this.options.ariaLabelFn || (function () { return ""; });
        _this.zIndex_ = _this.options.zIndex || Number(google.maps.Marker.MAX_ZINDEX) + 1;
        _this.gridSize_ = _this.options.gridSize || 60;
        _this.minClusterSize_ = _this.options.minimumClusterSize || 2;
        _this.maxZoom_ = _this.options.maxZoom || null;
        _this.styles_ = _this.options.styles || [];
        _this.title_ = _this.options.title || "";
        _this.zoomOnClick_ = getOption(_this.options, "zoomOnClick", true);
        _this.averageCenter_ = getOption(_this.options, "averageCenter", false);
        _this.ignoreHidden_ = getOption(_this.options, "ignoreHidden", false);
        _this.enableRetinaIcons_ = getOption(_this.options, "enableRetinaIcons", false);
        _this.imagePath_ = _this.options.imagePath || MarkerClusterer.IMAGE_PATH;
        _this.imageExtension_ = _this.options.imageExtension || MarkerClusterer.IMAGE_EXTENSION;
        _this.imageSizes_ = _this.options.imageSizes || MarkerClusterer.IMAGE_SIZES;
        _this.calculator_ = _this.options.calculator || MarkerClusterer.CALCULATOR;
        _this.batchSize_ = _this.options.batchSize || MarkerClusterer.BATCH_SIZE;
        _this.batchSizeIE_ = _this.options.batchSizeIE || MarkerClusterer.BATCH_SIZE_IE;
        _this.clusterClass_ = _this.options.clusterClass || "cluster";
        if (navigator.userAgent.toLowerCase().indexOf("msie") !== -1) {
            _this.batchSize_ = _this.batchSizeIE_;
        }
        _this.setupStyles_();
        _this.addMarkers(markers, true);
        _this.setMap(map); 
        return _this;
    }
function MarkerClusterer ( map , markers , options ) { if ( markers === void 0 ) { markers = [ ] ; } if ( options === void 0 ) { options = { } ; } var _this = _super . call ( this ) || this ; _this . options = options ; _this . markers_ = [ ] ; _this . clusters_ = [ ] ; _this . listeners_ = [ ] ; _this . activeMap_ = null ; _this . ready_ = false ; _this . ariaLabelFn = _this . options . ariaLabelFn || ( function ( ) { return "" ; } ) ; _this . zIndex_ = _this . options . zIndex || Number ( google . maps . Marker . MAX_ZINDEX ) + 1 ; _this . gridSize_ = _this . options . gridSize || 60 ; _this . minClusterSize_ = _this . options . minimumClusterSize || 2 ; _this . maxZoom_ = _this . options . maxZoom || null ; _this . styles_ = _this . options . styles || [ ] ; _this . title_ = _this . options . title || "" ; _this . zoomOnClick_ = getOption ( _this . options , "zoomOnClick" , true ) ; _this . averageCenter_ = getOption ( _this . options , "averageCenter" , false ) ; _this . ignoreHidden_ = getOption ( _this . options , "ignoreHidden" , false ) ; _this . enableRetinaIcons_ = getOption ( _this . options , "enableRetinaIcons" , false ) ; _this . imagePath_ = _this . options . imagePath || MarkerClusterer . IMAGE_PATH ; _this . imageExtension_ = _this . options . imageExtension || MarkerClusterer . IMAGE_EXTENSION ; _this . imageSizes_ = _this . options . imageSizes || MarkerClusterer . IMAGE_SIZES ; _this . calculator_ = _this . options . calculator || MarkerClusterer . CALCULATOR ; _this . batchSize_ = _this . options . batchSize || MarkerClusterer . BATCH_SIZE ; _this . batchSizeIE_ = _this . options . batchSizeIE || MarkerClusterer . BATCH_SIZE_IE ; _this . clusterClass_ = _this . options . clusterClass || "cluster" ; if ( navigator . userAgent . toLowerCase ( ) . indexOf ( "msie" ) !== - 1 ) { _this . batchSize_ = _this . batchSizeIE_ ; } _this . setupStyles_ ( ) ; _this . addMarkers ( markers , true ) ; _this . setMap ( map ) ; return _this ; }
Creates a MarkerClusterer object with the options specified in {@link MarkerClustererOptions}.
Creates a MarkerClusterer object with the options specified in { @link MarkerClustererOptions } .
// Try to avoid IE timeout when processing a huge number of markers: // Note: this causes onAdd to be called