From a133a6d8e3b00aadba5bf8e6096b42d666c8f240 Mon Sep 17 00:00:00 2001 From: Qiusheng Wu Date: Sun, 4 Jun 2023 17:26:09 -0400 Subject: [PATCH] Updated layer manager GUI (#1553) --- geemap/geemap.py | 9 +++++++++ geemap/toolbar.py | 3 +++ 2 files changed, 12 insertions(+) diff --git a/geemap/geemap.py b/geemap/geemap.py index 4176aac585..3259a02c77 100644 --- a/geemap/geemap.py +++ b/geemap/geemap.py @@ -693,6 +693,9 @@ def add(self, object): super().add(object) + if hasattr(self, "layer_manager_widget"): + self.update_layer_manager() + def set_options(self, mapTypeId="HYBRID", styles=None, types=None): """Adds Google basemap and controls to the ipyleaflet map. @@ -6761,6 +6764,12 @@ def add_layer_manager(self, position="topright", opened=True): layer_manager_gui(self, position, opened) + def update_layer_manager(self): + """Update the Layer Manager.""" + from .toolbar import layer_manager_gui + + self.layer_manager_widget.children = layer_manager_gui(self, return_widget=True) + def add_widget(self, content, position="bottomright", **kwargs): """Add a widget (e.g., text, HTML, figure) to the map. diff --git a/geemap/toolbar.py b/geemap/toolbar.py index 499532b58d..a3d38bb96a 100644 --- a/geemap/toolbar.py +++ b/geemap/toolbar.py @@ -5009,6 +5009,9 @@ def layer_chk_changed(change): layers_button.observe(layers_btn_click, "value") layers_button.value = opened + if not hasattr(m, "layer_manager_widget"): + m.layer_manager_widget = toolbar_footer + if return_widget: return m.layer_widget else: