[Pkg-javascript-commits] [leaflet-markercluster] 191/479: Add option singleMarkerMode
Jonas Smedegaard
dr at jones.dk
Thu Oct 16 16:00:28 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 068f9f9f8a08424ddb0816cb0b3afb70f6c9d690
Author: Alec Winograd <awinograd at gmail.com>
Date: Fri Aug 31 23:06:39 2012 -0700
Add option singleMarkerMode
Defaults to false. Setting to true causes markers
to appear as clusters with count 1. This is done
by overriding the Marker's icon to the Group's
iconCreateFunction.
---
example/marker-clustering-singlemarkermode.html | 61 +++++++++++++++++++++++++
src/MarkerCluster.js | 4 ++
src/MarkerClusterGroup.js | 1 +
3 files changed, 66 insertions(+)
diff --git a/example/marker-clustering-singlemarkermode.html b/example/marker-clustering-singlemarkermode.html
new file mode 100644
index 0000000..60eef82
--- /dev/null
+++ b/example/marker-clustering-singlemarkermode.html
@@ -0,0 +1,61 @@
+<!DOCTYPE html>
+<html>
+<head>
+ <title>Leaflet debug page</title>
+
+ <link rel="stylesheet" href="http://cdn.leafletjs.com/leaflet-0.4.4/leaflet.css" />
+ <!--[if lte IE 8]><link rel="stylesheet" href="http://cdn.leafletjs.com/leaflet-0.4.4/leaflet.ie.css" /><![endif]-->
+ <script src="http://cdn.leafletjs.com/leaflet-0.4.4/leaflet.js"></script>
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
+ <link rel="stylesheet" href="screen.css" />
+
+ <link rel="stylesheet" href="../dist/MarkerCluster.css" />
+ <link rel="stylesheet" href="../dist/MarkerCluster.Default.css" />
+ <!--[if lte IE 8]><link rel="stylesheet" href="../dist/MarkerCluster.Default.ie.css" /><![endif]-->
+ <script src="../dist/leaflet.markercluster-src.js"></script>
+</head>
+<body>
+
+ <div id="map"></div>
+ <span>Click a cluster to zoom to its bounds</span>
+
+ <script type="text/javascript">
+
+ var cloudmadeUrl = 'http://{s}.tile.cloudmade.com/BC9A493B41014CAABB98F0471D759707/997/256/{z}/{x}/{y}.png',
+ cloudmadeAttribution = 'Map data © 2011 OpenStreetMap contributors, Imagery © 2011 CloudMade',
+ cloudmade = new L.TileLayer(cloudmadeUrl, {maxZoom: 18, attribution: cloudmadeAttribution}),
+ latlng = new L.LatLng(50.5, 30.51);
+
+ var map = new L.Map('map', {center: latlng, zoom: 15, layers: [cloudmade]});
+
+ var markers = new L.MarkerClusterGroup({ singleMarkerMode: true});
+
+ function populate() {
+ for (var i = 0; i < 100; i++) {
+ var m = new L.Marker(getRandomLatLng(map));
+ markers.addLayer(m);
+ }
+ return false;
+ }
+ function getRandomLatLng(map) {
+ var bounds = map.getBounds(),
+ southWest = bounds.getSouthWest(),
+ northEast = bounds.getNorthEast(),
+ lngSpan = northEast.lng - southWest.lng,
+ latSpan = northEast.lat - southWest.lat;
+
+ return new L.LatLng(
+ southWest.lat + latSpan * Math.random(),
+ southWest.lng + lngSpan * Math.random());
+ }
+
+ markers.on('clusterclick', function (a) {
+ a.layer.zoomToBounds();
+ });
+
+ populate();
+ map.addLayer(markers);
+
+ </script>
+</body>
+</html>
diff --git a/src/MarkerCluster.js b/src/MarkerCluster.js
index b0fa84a..ffd7828 100644
--- a/src/MarkerCluster.js
+++ b/src/MarkerCluster.js
@@ -52,6 +52,10 @@ L.MarkerCluster = L.Marker.extend({
this._childClusters.push(new1);
this._childCount += new1._childCount;
} else {
+ if (this._group.options.singleMarkerMode === true) {
+ new1.options.icon = this._group.options.iconCreateFunction(1);
+ }
+
this._markers.push(new1);
this._childCount++;
}
diff --git a/src/MarkerClusterGroup.js b/src/MarkerClusterGroup.js
index f685d8d..1ae6542 100644
--- a/src/MarkerClusterGroup.js
+++ b/src/MarkerClusterGroup.js
@@ -12,6 +12,7 @@ L.MarkerClusterGroup = L.FeatureGroup.extend({
spiderfyOnMaxZoom: true,
showCoverageOnHover: true,
zoomToBoundsOnClick: true,
+ singleMarkerMode: false,
disableClusteringAtZoom: null
},
--
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