[Pkg-javascript-commits] [leaflet-markercluster] 234/479: Fixing up animated zoom in/out not removing markers it is meant to
Jonas Smedegaard
dr at jones.dk
Thu Oct 16 16:00:34 UTC 2014
This is an automated email from the git hooks/post-receive script.
js pushed a commit to branch master
in repository leaflet-markercluster.
commit bb472a78fbad4bea6129178f7b0cccf88190e617
Author: danzel <danzel at localhost.geek.nz>
Date: Thu Sep 13 11:01:34 2012 +1200
Fixing up animated zoom in/out not removing markers it is meant to
---
src/MarkerCluster.js | 8 ++++----
src/MarkerClusterGroup.js | 14 +++++++-------
2 files changed, 11 insertions(+), 11 deletions(-)
diff --git a/src/MarkerCluster.js b/src/MarkerCluster.js
index 9744ec3..8b28965 100644
--- a/src/MarkerCluster.js
+++ b/src/MarkerCluster.js
@@ -130,8 +130,8 @@ L.MarkerCluster = L.Marker.extend({
L.FeatureGroup.prototype.addLayer.call(this._group, this);
},
- _recursivelyAnimateChildrenIn: function (bounds, center, depth) {
- this._recursively(bounds, 0, depth - 1,
+ _recursivelyAnimateChildrenIn: function (bounds, center, maxZoom) {
+ this._recursively(bounds, 0, maxZoom,
function (c) {
var markers = c._markers,
i, m;
@@ -168,7 +168,7 @@ L.MarkerCluster = L.Marker.extend({
//As a hack we only do a animation free zoom on a single level zoom, if someone does multiple levels then we always animate
if (c._isSingleParent() && previousZoomLevel - 1 === newZoomLevel) {
c.setOpacity(1);
- c._recursivelyRemoveChildrenFromMap(bounds, previousZoomLevel); //Immediately remove our children as we are replacing them. TODO previousBounds not bounds
+ c._recursivelyRemoveChildrenFromMap(bounds, previousZoomLevel - 1); //Immediately remove our children as we are replacing them. TODO previousBounds not bounds
} else {
c.setOpacity(0);
}
@@ -247,7 +247,7 @@ L.MarkerCluster = L.Marker.extend({
//exceptBounds: If set, don't remove any markers/clusters in it
_recursivelyRemoveChildrenFromMap: function (previousBounds, zoomLevel, exceptBounds) {
var m, i;
- this._recursively(previousBounds, -1, zoomLevel - 1,
+ this._recursively(previousBounds, -1, zoomLevel,
function (c) {
//Remove markers at every level
for (i = c._markers.length - 1; i >= 0; i--) {
diff --git a/src/MarkerClusterGroup.js b/src/MarkerClusterGroup.js
index d0f94f5..2e94aeb 100644
--- a/src/MarkerClusterGroup.js
+++ b/src/MarkerClusterGroup.js
@@ -445,7 +445,7 @@ L.MarkerClusterGroup = L.FeatureGroup.extend({
if (closest.__parent) {
this._removeLayer(closest, false);
}
- var parent = closest.__parent || this._topClusterLevel;
+ var parent = closest.__parent;
//Create new cluster with these 2 in it
@@ -487,7 +487,7 @@ L.MarkerClusterGroup = L.FeatureGroup.extend({
if (this._zoom < this._map._zoom) { //Zoom in, split
this._animationStart();
//Remove clusters now off screen
- this._topClusterLevel._recursivelyRemoveChildrenFromMap(this._currentShownBounds, this._zoom, this._getExpandedVisibleBounds());
+ this._topClusterLevel._recursivelyRemoveChildrenFromMap(this._currentShownBounds, this._zoom - 1, this._getExpandedVisibleBounds());
this._animationZoomIn(this._zoom, this._map._zoom);
@@ -624,28 +624,28 @@ L.MarkerClusterGroup.include(!L.DomUtil.TRANSITION ? {
},
_animationZoomOut: function (previousZoomLevel, newZoomLevel) {
- this._animationZoomOutSingle(this._topClusterLevel, previousZoomLevel, newZoomLevel);
+ this._animationZoomOutSingle(this._topClusterLevel, previousZoomLevel - 1, newZoomLevel);
//Need to add markers for those that weren't on the map before but are now
this._topClusterLevel._recursivelyAddChildrenToMap(null, newZoomLevel, this._getExpandedVisibleBounds());
},
- _animationZoomOutSingle: function (marker, previousZoomLevel, newZoomLevel) {
+ _animationZoomOutSingle: function (cluster, previousZoomLevel, newZoomLevel) {
var bounds = this._getExpandedVisibleBounds();
//Animate all of the markers in the clusters to move to their cluster center point
- marker._recursivelyAnimateChildrenInAndAddSelfToMap(bounds, previousZoomLevel, newZoomLevel);
+ cluster._recursivelyAnimateChildrenInAndAddSelfToMap(bounds, previousZoomLevel, newZoomLevel);
var me = this;
//Update the opacity (If we immediately set it they won't animate)
this._forceLayout();
- marker._recursivelyBecomeVisible(bounds, newZoomLevel);
+ cluster._recursivelyBecomeVisible(bounds, newZoomLevel);
//TODO: Maybe use the transition timing stuff to make this more reliable
//When the animations are done, tidy up
setTimeout(function () {
- marker._recursively(bounds, newZoomLevel, 0, function (c) {
+ cluster._recursively(bounds, newZoomLevel, 0, function (c) {
c._recursivelyRemoveChildrenFromMap(bounds, previousZoomLevel);
});
me._animationEnd();
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-javascript/leaflet-markercluster.git
More information about the Pkg-javascript-commits
mailing list