-
+ Bug #54. Spiderfy the cluster then click the button. Should result in 2 markers right beside each other on the map. Bug #53. Spiderfy the cluster then click the button. Spider lines remain on the map. Bug #49. Spiderfy the cluster then click the second button. Spider lines remain on the map. Click the map to get an error.
@@ -56,6 +56,9 @@
L.DomUtil.get('doit2').onclick = function () {
markers.clearLayers();
};
+ L.DomUtil.get('doit3').onclick = function () {
+ markers.removeLayers(markersList);
+ };
diff --git a/spec/suites/removeLayersSpec.js b/spec/suites/removeLayersSpec.js
index 0ff840a60..8f24ecf12 100644
--- a/spec/suites/removeLayersSpec.js
+++ b/spec/suites/removeLayersSpec.js
@@ -57,6 +57,9 @@
markers[0].__parent.spiderfy();
+ // We must wait for the spiderfy animation to timeout
+ clock.tick(200);
+
group.removeLayers(markers);
expect(group.hasLayer(markers[0])).to.be(false);
@@ -64,5 +67,9 @@
expect(group.hasLayer(markers[2])).to.be(false);
expect(group.getLayers().length).to.be(0);
+
+ group.on('spiderfied', function() {
+ expect(group._spiderfied).to.be(null);
+ });
});
});
\ No newline at end of file
diff --git a/src/MarkerClusterGroup.js b/src/MarkerClusterGroup.js
index d6b408fe5..c487468b1 100644
--- a/src/MarkerClusterGroup.js
+++ b/src/MarkerClusterGroup.js
@@ -251,6 +251,10 @@ L.MarkerClusterGroup = L.FeatureGroup.extend({
fg = this._featureGroup,
npg = this._nonPointGroup;
+ if (this._unspiderfy) {
+ this._unspiderfy();
+ }
+
if (!this._map) {
for (i = 0, l = layersArray.length; i < l; i++) {
m = layersArray[i];