mirror of
https://github.com/librenms/librenms.git
synced 2024-10-07 16:52:45 +00:00
Make events for clusters start with cluster, clusterclick etc.
This commit is contained in:
@@ -53,11 +53,9 @@
|
||||
}
|
||||
|
||||
|
||||
|
||||
var polygon;
|
||||
var polygonCluster;
|
||||
markers.on('mouseover', function (a) {
|
||||
if (a.layer instanceof L.MarkerCluster) {
|
||||
markers.on('clustermouseover', function (a) {
|
||||
console.log('cluster ' + a.layer.getAllChildMarkers().length);
|
||||
|
||||
if (polygon) {
|
||||
@@ -65,13 +63,10 @@
|
||||
}
|
||||
polygon = new L.Polygon(a.layer.getConvexHull());
|
||||
map.addLayer(polygon);
|
||||
} else {
|
||||
console.log('marker ' + a.layer);
|
||||
}
|
||||
});
|
||||
|
||||
markers.on('mouseout', function (a) {
|
||||
if (a.layer instanceof L.MarkerCluster && polygon) {
|
||||
markers.on('clustermouseout', function (a) {
|
||||
if (polygon) {
|
||||
map.removeLayer(polygon);
|
||||
polygon = null;
|
||||
}
|
||||
|
||||
@@ -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) {
|
||||
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;
|
||||
}
|
||||
|
||||
@@ -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) {
|
||||
markers.on('clusterclick', function (a) {
|
||||
console.log('cluster ' + a.layer.getAllChildMarkers().length);
|
||||
a.layer.spiderfy();
|
||||
} else {
|
||||
console.log('marker ' + a.layer);
|
||||
}
|
||||
});
|
||||
|
||||
populate();
|
||||
|
||||
@@ -50,10 +50,8 @@
|
||||
southWest.lng + lngSpan * Math.random());
|
||||
}
|
||||
|
||||
markers.on('click', function (a) {
|
||||
if (a.layer instanceof L.MarkerCluster) {
|
||||
markers.on('clusterclick', function (a) {
|
||||
a.layer.zoomToBounds();
|
||||
}
|
||||
});
|
||||
|
||||
populate();
|
||||
|
||||
@@ -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,
|
||||
|
||||
Reference in New Issue
Block a user