[Pkg-javascript-commits] [leaflet-markercluster] 85/479: Make events for clusters start with cluster, clusterclick etc.

Jonas Smedegaard dr at jones.dk
Thu Oct 16 16:00:13 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 602a5ae1d2b0d6967df07fdcc96dcc7b249ae255
Author: danzel <danzel at localhost.geek.nz>
Date:   Tue Jul 24 13:26:47 2012 +1200

    Make events for clusters start with cluster, clusterclick etc.
---
 example/marker-clustering-convexhull.html   | 21 ++++++++-------------
 example/marker-clustering-everything.html   | 25 +++++++++++++------------
 example/marker-clustering-spiderfier.html   | 12 ++++--------
 example/marker-clustering-zoomtobounds.html |  6 ++----
 src/MarkerClusterGroup.js                   |  7 +++++++
 5 files changed, 34 insertions(+), 37 deletions(-)

diff --git a/example/marker-clustering-convexhull.html b/example/marker-clustering-convexhull.html
index 704fddb..518301c 100644
--- a/example/marker-clustering-convexhull.html
+++ b/example/marker-clustering-convexhull.html
@@ -53,25 +53,20 @@
 		}
 
 
-
 		var polygon;
 		var polygonCluster;
-		markers.on('mouseover', function (a) {
-			if (a.layer instanceof L.MarkerCluster) {
-				console.log('cluster ' + a.layer.getAllChildMarkers().length);
+		markers.on('clustermouseover', function (a) {
+			console.log('cluster ' + a.layer.getAllChildMarkers().length);
 				
-				if (polygon) {
-					map.removeLayer(polygon);
-				}
-				polygon = new L.Polygon(a.layer.getConvexHull());
-				map.addLayer(polygon);
-			} else {
-				console.log('marker ' + a.layer);
+			if (polygon) {
+				map.removeLayer(polygon);
 			}
+			polygon = new L.Polygon(a.layer.getConvexHull());
+			map.addLayer(polygon);
 		});
 
-		markers.on('mouseout', function (a) {
-			if (a.layer instanceof L.MarkerCluster && polygon) {
+		markers.on('clustermouseout', function (a) {
+			if (polygon) {
 				map.removeLayer(polygon);
 				polygon = null;
 			}
diff --git a/example/marker-clustering-everything.html b/example/marker-clustering-everything.html
index ebe416f..be6ef72 100644
--- a/example/marker-clustering-everything.html
+++ b/example/marker-clustering-everything.html
@@ -15,6 +15,7 @@
 	<script src="../src/MarkerClusterGroup.js"></script>
 	<script src="../src/MarkerCluster.js"></script>
 	<script src="../src/MarkerCluster.QuickHull.js"></script>
+	<script src="../src/MarkerCluster.Spiderfier.js"></script>
 </head>
 <body>
 
@@ -54,9 +55,11 @@
 					southWest.lng + lngSpan * Math.random());
 		}
 		
-		//Zoom on cluster click
-		markers.on('click', function (a) {
-			if (a.layer instanceof L.MarkerCluster) {
+		//Zoom or spiderfy on cluster click
+		markers.on('clusterclick', function (a) {
+			if (map.getMaxZoom() === map.getZoom()) {
+				a.layer.spiderfy();
+			} else {
 				a.layer.zoomToBounds();
 			}
 		});
@@ -64,17 +67,15 @@
 		//Show convex hull (boundary) polygon on mouse over
 		var polygon;
 		var polygonCluster;
-		markers.on('mouseover', function (a) {
-			if (a.layer instanceof L.MarkerCluster) {
-				if (polygon) {
-					map.removeLayer(polygon);
-				}
-				polygon = new L.Polygon(a.layer.getConvexHull());
-				map.addLayer(polygon);
+		markers.on('clustermouseover', function (a) {
+			if (polygon) {
+				map.removeLayer(polygon);
 			}
+			polygon = new L.Polygon(a.layer.getConvexHull());
+			map.addLayer(polygon);
 		});
-		markers.on('mouseout', function (a) {
-			if (a.layer instanceof L.MarkerCluster && polygon) {
+		markers.on('clustermouseout', function (a) {
+			if (polygon) {
 				map.removeLayer(polygon);
 				polygon = null;
 			}
diff --git a/example/marker-clustering-spiderfier.html b/example/marker-clustering-spiderfier.html
index 592e1b5..47729ba 100644
--- a/example/marker-clustering-spiderfier.html
+++ b/example/marker-clustering-spiderfier.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html>
+<!DOCTYPE html>
 <html>
 <head>
 	<title>Leaflet debug page</title>
@@ -52,13 +52,9 @@
 					southWest.lng + lngSpan * Math.random());
 		}
 
-		markers.on('click', function (a) {
-			if (a.layer instanceof L.MarkerCluster) {
-				console.log('cluster ' + a.layer.getAllChildMarkers().length);
-				a.layer.spiderfy();
-			} else {
-				console.log('marker ' + a.layer);
-			}
+		markers.on('clusterclick', function (a) {
+			console.log('cluster ' + a.layer.getAllChildMarkers().length);
+			a.layer.spiderfy();
 		});
 
 		populate();
diff --git a/example/marker-clustering-zoomtobounds.html b/example/marker-clustering-zoomtobounds.html
index fff181b..23bfafe 100644
--- a/example/marker-clustering-zoomtobounds.html
+++ b/example/marker-clustering-zoomtobounds.html
@@ -50,10 +50,8 @@
 					southWest.lng + lngSpan * Math.random());
 		}
 
-		markers.on('click', function (a) {
-			if (a.layer instanceof L.MarkerCluster) {
-				a.layer.zoomToBounds();
-			}
+		markers.on('clusterclick', function (a) {
+			a.layer.zoomToBounds();
 		});
 
 		populate();
diff --git a/src/MarkerClusterGroup.js b/src/MarkerClusterGroup.js
index 21cae41..856bb3d 100644
--- a/src/MarkerClusterGroup.js
+++ b/src/MarkerClusterGroup.js
@@ -32,6 +32,13 @@ L.MarkerClusterGroup = L.FeatureGroup.extend({
 		this._currentShownBounds = null;
 	},
 
+	//Overrides FeatureGroup._propagateEvent
+	_propagateEvent: function (e) {
+		if (e.target instanceof L.MarkerCluster) {
+			e.type = 'cluster' + e.type;
+		}
+		L.FeatureGroup.prototype._propagateEvent.call(this, e);
+	},
 
 	_sqDist: function (p1, p2) {
 		var dx = p2.x - p1.x,

-- 
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