mirror of
https://github.com/stylersnico/librenms.git
synced 2026-07-28 00:24:21 +02:00
Cludge around our hasLayer implementation to make us work with the latest Leaflet master. Fixes #159
Our hasLayer returns true when we contains a marker. FeatureGroup/LayerGroup (which we inherit from) now check hasLayer when addLayer is called. At this stage our hasLayer will return true, stopping the marker from ending up on the map.
This commit is contained in:
@@ -152,7 +152,9 @@ L.MarkerCluster.include(!L.DomUtil.TRANSITION ? {
|
||||
m.setZIndexOffset(1000000); //Make these appear on top of EVERYTHING
|
||||
m.setOpacity(0);
|
||||
|
||||
m._noHas = true;
|
||||
L.FeatureGroup.prototype.addLayer.call(group, m);
|
||||
delete m._noHas;
|
||||
|
||||
m._setPos(thisLayerPos);
|
||||
}
|
||||
|
||||
@@ -132,7 +132,9 @@ L.MarkerCluster = L.Marker.extend({
|
||||
this._backupLatlng = this._latlng;
|
||||
this.setLatLng(startPos);
|
||||
}
|
||||
this._noHas = true;
|
||||
L.FeatureGroup.prototype.addLayer.call(this._group, this);
|
||||
delete this._noHas;
|
||||
},
|
||||
|
||||
_recursivelyAnimateChildrenIn: function (bounds, center, maxZoom) {
|
||||
@@ -211,7 +213,9 @@ L.MarkerCluster = L.Marker.extend({
|
||||
nm.setOpacity(0);
|
||||
}
|
||||
|
||||
nm._noHas = true;
|
||||
L.FeatureGroup.prototype.addLayer.call(c._group, nm);
|
||||
delete nm._noHas;
|
||||
}
|
||||
},
|
||||
function (c) {
|
||||
@@ -268,7 +272,9 @@ L.MarkerCluster = L.Marker.extend({
|
||||
for (i = c._childClusters.length - 1; i >= 0; i--) {
|
||||
m = c._childClusters[i];
|
||||
if (!exceptBounds || !exceptBounds.contains(m._latlng)) {
|
||||
L.FeatureGroup.prototype.removeLayer.call(c._group, m);
|
||||
if (L.FeatureGroup.prototype.hasLayer.call(c._group, m)) {
|
||||
L.FeatureGroup.prototype.removeLayer.call(c._group, m);
|
||||
}
|
||||
m.setOpacity(1);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -266,6 +266,10 @@ L.MarkerClusterGroup = L.FeatureGroup.extend({
|
||||
|
||||
//Returns true if the given layer is in this MarkerClusterGroup
|
||||
hasLayer: function (layer) {
|
||||
if (layer._noHas) {
|
||||
return false;
|
||||
}
|
||||
|
||||
if (this._needsClustering.length > 0) {
|
||||
var anArray = this._needsClustering;
|
||||
for (var i = anArray.length - 1; i >= 0; i--) {
|
||||
|
||||
Reference in New Issue
Block a user