[Pkg-javascript-commits] [leaflet-markercluster] 26/219: Update build
Jonas Smedegaard
dr at jones.dk
Sat May 7 09:39:08 UTC 2016
This is an automated email from the git hooks/post-receive script.
js pushed a commit to branch master
in repository leaflet-markercluster.
commit 436caf0f6c5a4714dd71279425efca4f1c7b6ac6
Author: danzel <danzel at localhost.geek.nz>
Date: Wed Jan 22 09:26:23 2014 +1300
Update build
---
dist/leaflet.markercluster-src.js | 39 +++++++++++++++++++++++++++------------
dist/leaflet.markercluster.js | 2 +-
2 files changed, 28 insertions(+), 13 deletions(-)
diff --git a/dist/leaflet.markercluster-src.js b/dist/leaflet.markercluster-src.js
index fd438b5..1c71d5c 100644
--- a/dist/leaflet.markercluster-src.js
+++ b/dist/leaflet.markercluster-src.js
@@ -31,9 +31,11 @@ L.MarkerClusterGroup = L.FeatureGroup.extend({
//Increase to increase the distance away that spiderfied markers appear from the center
spiderfyDistanceMultiplier: 1,
- //When bulk adding layers, runs chunks at a time. Means addLayers may not add all the layers in the call, others will be loaded during setTimeouts
+ // When bulk adding layers, adds markers in chunks. Means addLayers may not add all the layers in the call, others will be loaded during setTimeouts
chunkedLoading: false,
- chunkSize: 500,
+ chunkInterval: 200, // process markers for a maximum of ~ n milliseconds (then trigger the chunkProgress callback)
+ chunkDelay: 50, // at the end of each interval, give n milliseconds back to system/browser
+ chunkProgress: null, // progress callback: function(processed, total, elapsed) (e.g. for a progress indicator)
//Options to pass to the L.Polygon constructor
polygonOptions: {}
@@ -163,15 +165,25 @@ L.MarkerClusterGroup = L.FeatureGroup.extend({
addLayers: function (layersArray) {
var fg = this._featureGroup,
npg = this._nonPointGroup,
- chunkSize = this.options.chunkSize,
+ chunkInterval = this.options.chunkInterval,
+ chunkProgress = this.options.chunkProgress,
newMarkers, i, l, m;
if (this._map) {
- var start = 0;
- var end = this.options.chunkedLoading && chunkSize < layersArray.length ? chunkSize : layersArray.length;
+ var offset = 0,
+ started = (new Date()).getTime();
var process = L.bind(function () {
- for (i = start; i < end; i++) {
- m = layersArray[i];
+ var start = (new Date()).getTime();
+ for (; offset < layersArray.length; offset++) {
+ if (offset % 200 === 0) {
+ // every couple hundred markers, instrument the time elapsed since processing started:
+ var elapsed = (new Date()).getTime() - start;
+ if (elapsed > chunkInterval) {
+ break; // been working too hard, time to take a break :-)
+ }
+ }
+
+ m = layersArray[offset];
//Not point data, can't be clustered
if (!m.getLatLng) {
@@ -195,7 +207,12 @@ L.MarkerClusterGroup = L.FeatureGroup.extend({
}
}
- if (end === layersArray.length) {
+ if (chunkProgress) {
+ // report progress and time elapsed:
+ chunkProgress(offset, layersArray.length, (new Date()).getTime() - started);
+ }
+
+ if (offset === layersArray.length) {
//Update the icons of all those visible clusters that were affected
this._featureGroup.eachLayer(function (c) {
if (c instanceof L.MarkerCluster && c._iconNeedsUpdate) {
@@ -205,9 +222,7 @@ L.MarkerClusterGroup = L.FeatureGroup.extend({
this._topClusterLevel._recursivelyAddChildrenToMap(null, this._zoom, this._currentShownBounds);
} else {
- start = end;
- end = Math.min(end + chunkSize, layersArray.length);
- setTimeout(process, 0);
+ setTimeout(process, this.options.chunkDelay);
}
}, this);
@@ -329,7 +344,7 @@ L.MarkerClusterGroup = L.FeatureGroup.extend({
//Overrides LayerGroup.eachLayer
eachLayer: function (method, context) {
var markers = this._needsClustering.slice(),
- i;
+ i;
if (this._topClusterLevel) {
this._topClusterLevel.getAllChildMarkers(markers);
diff --git a/dist/leaflet.markercluster.js b/dist/leaflet.markercluster.js
index d898087..fe8a83b 100644
--- a/dist/leaflet.markercluster.js
+++ b/dist/leaflet.markercluster.js
@@ -3,4 +3,4 @@
https://github.com/Leaflet/Leaflet.markercluster
(c) 2012-2013, Dave Leaver, smartrak
*/
-!function(t,e){L.MarkerClusterGroup=L.FeatureGroup.extend({options:{maxClusterRadius:80,iconCreateFunction:null,spiderfyOnMaxZoom:!0,showCoverageOnHover:!0,zoomToBoundsOnClick:!0,singleMarkerMode:!1,disableClusteringAtZoom:null,removeOutsideVisibleBounds:!0,animateAddingMarkers:!1,spiderfyDistanceMultiplier:1,polygonOptions:{}},initialize:function(t){L.Util.setOptions(this,t),this.options.iconCreateFunction||(this.options.iconCreateFunction=this._defaultIconCreateFunction),this._featureG [...]
\ No newline at end of file
+!function(t,e){L.MarkerClusterGroup=L.FeatureGroup.extend({options:{maxClusterRadius:80,iconCreateFunction:null,spiderfyOnMaxZoom:!0,showCoverageOnHover:!0,zoomToBoundsOnClick:!0,singleMarkerMode:!1,disableClusteringAtZoom:null,removeOutsideVisibleBounds:!0,animateAddingMarkers:!1,spiderfyDistanceMultiplier:1,chunkedLoading:!1,chunkInterval:200,chunkDelay:50,chunkProgress:null,polygonOptions:{}},initialize:function(t){L.Util.setOptions(this,t),this.options.iconCreateFunction||(this.optio [...]
\ No newline at end of file
--
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