[Pkg-javascript-commits] [leaflet-markercluster] 238/479: Re do the zoom animation fixes. This should fix it properly. (There was some minor visual errors when having 2 markers and doing a fast zoom out, the cluster would appear instantly instead of fading in)
Jonas Smedegaard
dr at jones.dk
Thu Oct 16 16:00:35 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 cc8c6b5ff14b76af806429376de318b7c4d08fd2
Author: danzel <danzel at localhost.geek.nz>
Date: Thu Sep 13 17:20:40 2012 +1200
Re do the zoom animation fixes. This should fix it properly. (There was some minor visual errors when having 2 markers and doing a fast zoom out, the cluster would appear instantly instead of fading in)
---
src/MarkerCluster.js | 6 +++---
src/MarkerClusterGroup.js | 11 ++++++-----
2 files changed, 9 insertions(+), 8 deletions(-)
diff --git a/src/MarkerCluster.js b/src/MarkerCluster.js
index 8b28965..b83bf81 100644
--- a/src/MarkerCluster.js
+++ b/src/MarkerCluster.js
@@ -131,7 +131,7 @@ L.MarkerCluster = L.Marker.extend({
},
_recursivelyAnimateChildrenIn: function (bounds, center, maxZoom) {
- this._recursively(bounds, 0, maxZoom,
+ this._recursively(bounds, 0, maxZoom - 1,
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 - 1); //Immediately remove our children as we are replacing them. TODO previousBounds not bounds
+ c._recursivelyRemoveChildrenFromMap(bounds, previousZoomLevel); //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,
+ this._recursively(previousBounds, -1, zoomLevel - 1,
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 e63fb44..212c5ce 100644
--- a/src/MarkerClusterGroup.js
+++ b/src/MarkerClusterGroup.js
@@ -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 - 1, this._getExpandedVisibleBounds());
+ this._topClusterLevel._recursivelyRemoveChildrenFromMap(this._currentShownBounds, this._zoom, this._getExpandedVisibleBounds());
this._animationZoomIn(this._zoom, this._map._zoom);
@@ -535,11 +535,11 @@ L.MarkerClusterGroup.include(!L.DomUtil.TRANSITION ? {
//Do nothing...
},
_animationZoomIn: function (previousZoomLevel, newZoomLevel) {
- this._topClusterLevel._recursivelyRemoveChildrenFromMap(this._currentShownBounds, previousZoomLevel - 1);
+ this._topClusterLevel._recursivelyRemoveChildrenFromMap(this._currentShownBounds, previousZoomLevel);
this._topClusterLevel._recursivelyAddChildrenToMap(null, newZoomLevel, this._getExpandedVisibleBounds());
},
_animationZoomOut: function (previousZoomLevel, newZoomLevel) {
- this._topClusterLevel._recursivelyRemoveChildrenFromMap(this._currentShownBounds, previousZoomLevel - 1);
+ this._topClusterLevel._recursivelyRemoveChildrenFromMap(this._currentShownBounds, previousZoomLevel);
this._topClusterLevel._recursivelyAddChildrenToMap(null, newZoomLevel, this._getExpandedVisibleBounds());
},
_animationAddLayer: function (layer, newCluster) {
@@ -617,6 +617,7 @@ L.MarkerClusterGroup.include(!L.DomUtil.TRANSITION ? {
//update the positions of the just added clusters/markers
me._topClusterLevel._recursively(bounds, previousZoomLevel, 0, function (c) {
L.FeatureGroup.prototype.removeLayer.call(me, c);
+ c.setOpacity(1);
});
me._animationEnd();
@@ -633,7 +634,7 @@ L.MarkerClusterGroup.include(!L.DomUtil.TRANSITION ? {
var bounds = this._getExpandedVisibleBounds();
//Animate all of the markers in the clusters to move to their cluster center point
- cluster._recursivelyAnimateChildrenInAndAddSelfToMap(bounds, previousZoomLevel, newZoomLevel);
+ cluster._recursivelyAnimateChildrenInAndAddSelfToMap(bounds, previousZoomLevel + 1, newZoomLevel);
var me = this;
@@ -646,7 +647,7 @@ L.MarkerClusterGroup.include(!L.DomUtil.TRANSITION ? {
setTimeout(function () {
cluster._recursively(bounds, newZoomLevel, 0, function (c) {
- c._recursivelyRemoveChildrenFromMap(bounds, previousZoomLevel);
+ c._recursivelyRemoveChildrenFromMap(bounds, previousZoomLevel + 1);
});
me._animationEnd();
}, 250);
--
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