From 373b3d0e56d2fca01be7b1fc22c3f5f677a688d5 Mon Sep 17 00:00:00 2001 From: Tom Fifield Date: Mon, 20 May 2024 10:31:02 +0800 Subject: [PATCH 1/3] Feature: show routers only Requested in liamcottle/meshtastic-map#25 , this patch adds a new Node layer selection to show only routers. fixes liamcottle/meshtastic-map#25 --- src/public/index.html | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/public/index.html b/src/public/index.html index d5aec94..3a89d2d 100644 --- a/src/public/index.html +++ b/src/public/index.html @@ -2071,6 +2071,7 @@ // create layer groups var nodesLayerGroup = new L.LayerGroup(); + var nodesRouterGroup = new L.LayerGroup(); var neighboursLayerGroup = new L.LayerGroup(); var nodeNeighboursLayerGroup = new L.LayerGroup(); var nodesClusteredLayerGroup = L.markerClusterGroup({ @@ -2129,6 +2130,7 @@ L.control.groupedLayers(tileLayers, { "Nodes": { "All": nodesLayerGroup, + "Routers": nodesRouterGroup, "Clustered": nodesClusteredLayerGroup, "None": new L.LayerGroup(), }, @@ -2694,6 +2696,9 @@ // add marker to node layer groups marker.addTo(nodesLayerGroup); nodesClusteredLayerGroup.addLayer(marker); + if(node.role_name == "ROUTER" || node.role_name == "ROUTER_CLIENT"){ + marker.addTo(nodesRouterGroup); + } // show tooltip on desktop only if(!isMobile()){ From 2a09ee3c7434f2856d75291a6e2cf70a9f561818 Mon Sep 17 00:00:00 2001 From: Tom Fifield Date: Fri, 31 May 2024 21:19:12 +0300 Subject: [PATCH 2/3] Add REPEATER to router node types --- src/public/index.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/public/index.html b/src/public/index.html index 3a89d2d..a1291c5 100644 --- a/src/public/index.html +++ b/src/public/index.html @@ -2696,7 +2696,7 @@ // add marker to node layer groups marker.addTo(nodesLayerGroup); nodesClusteredLayerGroup.addLayer(marker); - if(node.role_name == "ROUTER" || node.role_name == "ROUTER_CLIENT"){ + if(node.role_name == "ROUTER" || node.role_name == "ROUTER_CLIENT" || node.role_name == "REPEATER"){ marker.addTo(nodesRouterGroup); } From 4559128835837d46391e83863345b937393090ef Mon Sep 17 00:00:00 2001 From: liamcottle Date: Thu, 6 Jun 2024 21:13:44 +1200 Subject: [PATCH 3/3] routers layer group should be clustered to avoid lag --- src/public/index.html | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/src/public/index.html b/src/public/index.html index a1291c5..e682f4a 100644 --- a/src/public/index.html +++ b/src/public/index.html @@ -2071,13 +2071,16 @@ // create layer groups var nodesLayerGroup = new L.LayerGroup(); - var nodesRouterGroup = new L.LayerGroup(); var neighboursLayerGroup = new L.LayerGroup(); var nodeNeighboursLayerGroup = new L.LayerGroup(); var nodesClusteredLayerGroup = L.markerClusterGroup({ showCoverageOnHover: false, 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(); // create icons @@ -2130,7 +2133,7 @@ L.control.groupedLayers(tileLayers, { "Nodes": { "All": nodesLayerGroup, - "Routers": nodesRouterGroup, + "Routers": nodesRouterLayerGroup, "Clustered": nodesClusteredLayerGroup, "None": new L.LayerGroup(), }, @@ -2696,8 +2699,12 @@ // add marker to node layer groups marker.addTo(nodesLayerGroup); 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