routers layer group should be clustered to avoid lag

This commit is contained in:
liamcottle
2024-06-06 21:13:44 +12:00
parent 2a09ee3c74
commit 4559128835

View File

@ -2071,13 +2071,16 @@
// create layer groups // create layer groups
var nodesLayerGroup = new L.LayerGroup(); var nodesLayerGroup = new L.LayerGroup();
var nodesRouterGroup = new L.LayerGroup();
var neighboursLayerGroup = new L.LayerGroup(); var neighboursLayerGroup = new L.LayerGroup();
var nodeNeighboursLayerGroup = new L.LayerGroup(); var nodeNeighboursLayerGroup = new L.LayerGroup();
var nodesClusteredLayerGroup = L.markerClusterGroup({ var nodesClusteredLayerGroup = L.markerClusterGroup({
showCoverageOnHover: false, showCoverageOnHover: false,
disableClusteringAtZoom: 10, // zoom level where node clustering is disabled disableClusteringAtZoom: 10, // zoom level where node clustering is disabled
}); });
var nodesRouterLayerGroup = L.markerClusterGroup({
showCoverageOnHover: false,
disableClusteringAtZoom: 10, // zoom level where node clustering is disabled
});
var waypointsLayerGroup = new L.LayerGroup(); var waypointsLayerGroup = new L.LayerGroup();
// create icons // create icons
@ -2130,7 +2133,7 @@
L.control.groupedLayers(tileLayers, { L.control.groupedLayers(tileLayers, {
"Nodes": { "Nodes": {
"All": nodesLayerGroup, "All": nodesLayerGroup,
"Routers": nodesRouterGroup, "Routers": nodesRouterLayerGroup,
"Clustered": nodesClusteredLayerGroup, "Clustered": nodesClusteredLayerGroup,
"None": new L.LayerGroup(), "None": new L.LayerGroup(),
}, },
@ -2696,8 +2699,12 @@
// add marker to node layer groups // add marker to node layer groups
marker.addTo(nodesLayerGroup); marker.addTo(nodesLayerGroup);
nodesClusteredLayerGroup.addLayer(marker); nodesClusteredLayerGroup.addLayer(marker);
if(node.role_name == "ROUTER" || node.role_name == "ROUTER_CLIENT" || node.role_name == "REPEATER"){
marker.addTo(nodesRouterGroup); // add markers for routers and repeaters to routers layer group
if(node.role_name === "ROUTER"
|| node.role_name === "ROUTER_CLIENT"
|| node.role_name === "REPEATER"){
nodesRouterLayerGroup.addLayer(marker);
} }
// show tooltip on desktop only // show tooltip on desktop only