diff --git a/src/MarkerCluster.js b/src/MarkerCluster.js index 0663c47a6..a3a7d6797 100644 --- a/src/MarkerCluster.js +++ b/src/MarkerCluster.js @@ -48,8 +48,10 @@ L.MarkerCluster = L.Marker.extend({ map = this._group._map, boundsZoom = map.getBoundsZoom(this._bounds), zoom = this._zoom + 1, + mapZoom = map.getZoom(), i; + //calculate how fare we need to zoom down to see all of the markers while (childClusters.length > 0 && boundsZoom > zoom) { zoom++; var newClusters = []; @@ -61,6 +63,8 @@ L.MarkerCluster = L.Marker.extend({ if (boundsZoom > zoom) { this._group._map.setView(this._latlng, zoom); + } else if (boundsZoom <= mapZoom) { //If fitBounds wouldn't zoom us down, zoom us down instead + this._group._map.setView(this._latlng, mapZoom + 1); } else { this._group._map.fitBounds(this._bounds); }