MCPcopy
hub / github.com/gee-community/geemap / remove

Method remove

geemap/core.py:1028–1076  ·  view source on GitHub ↗

Removes a widget from the map.

(self, widget: Any)

Source from the content-addressed store, hash-verified

1026 super().add(basemap_control)
1027
1028 def remove(self, widget: Any) -> None: # pytype: disable=signature-mismatch
1029 """Removes a widget from the map."""
1030 basic_controls = {
1031 "search_control": map_widgets.SearchBar,
1032 "zoom_control": ipyleaflet.ZoomControl,
1033 "fullscreen_control": ipyleaflet.FullScreenControl,
1034 "scale_control": ipyleaflet.ScaleControl,
1035 "attribution_control": ipyleaflet.AttributionControl,
1036 "toolbar": toolbar.Toolbar,
1037 "inspector": map_widgets.Inspector,
1038 "layer_manager": map_widgets.LayerManager,
1039 "layer_editor": map_widgets.LayerEditor,
1040 "draw_control": MapDrawControl,
1041 "basemap_selector": map_widgets.BasemapSelector,
1042 }
1043 widget_type = basic_controls.get(widget, None)
1044
1045 # First, try removing the widget from any layout boxes.
1046 child_to_remove = None
1047 for child in self.top_right_layout_box.children:
1048 if child == widget or isinstance(child, type(widget_type)):
1049 child_to_remove = child
1050 if child_to_remove:
1051 self.top_right_layout_box.children = [
1052 x for x in self.top_right_layout_box.children if x != child_to_remove
1053 ]
1054
1055 if widget_type:
1056 if control := self._find_widget_of_type(widget_type, return_control=True):
1057 self.remove(control)
1058 control.close()
1059 return
1060
1061 if hasattr(widget, "name") and widget.name in self.ee_layers:
1062 self.ee_layers.pop(widget.name)
1063
1064 if ee_layer := self.ee_layers.pop(widget, None):
1065 tile_layer = ee_layer.get("ee_layer", None)
1066 if tile_layer is not None:
1067 self.remove_layer(tile_layer)
1068 if legend := ee_layer.get("legend", None):
1069 self.remove(legend)
1070 if colorbar := ee_layer.get("colorbar", None):
1071 self.remove(colorbar)
1072 return
1073
1074 super().remove(widget)
1075 if isinstance(widget, ipywidgets.Widget):
1076 widget.close()
1077
1078 def add_layer(
1079 self,

Callers 15

_add_layer_managerMethod · 0.95
_add_inspectorMethod · 0.95
_add_search_controlMethod · 0.95
_add_layer_editorMethod · 0.95
_add_basemap_selectorMethod · 0.95
add_layerMethod · 0.95
_add_legendMethod · 0.95
_add_colorbarMethod · 0.95
remove_colorbarsMethod · 0.95
remove_legendsMethod · 0.95
remove_draw_controlMethod · 0.95
updateSlotChildrenMethod · 0.45

Calls 3

_find_widget_of_typeMethod · 0.95
remove_layerMethod · 0.95
getMethod · 0.45

Tested by 2

test_display_htmlMethod · 0.36