text: Title: Problem with save_draw_features
  Body: <!-- Please search existing issues to avoid creating duplicates. -->
  
  ### Environment Information
  
  -   leafmap version: 0.38.5
  -   Python version: 3.10.13
  -   Operating System: Ubuntu 22.04
  
  ### Description
  ```
  {
  	"name": "ValueError",
  	"message": "Assigning CRS to a GeoDataFrame without a geometry column is not supported. Use GeoDataFrame.set_geometry to set the active geometry column.",
  	"stack": "---------------------------------------------------------------------------
  AttributeError                            Traceback (most recent call last)
  File ~/GeoSegmentation/.venv/lib/python3.10/site-packages/geopandas/geodataframe.py:517, in GeoDataFrame.crs(self)
      516 try:
  --> 517     return self.geometry.crs
      518 except AttributeError:
  
  File ~/GeoSegmentation/.venv/lib/python3.10/site-packages/pandas/core/generic.py:6299, in NDFrame.__getattr__(self, name)
     6298     return self[name]
  -> 6299 return object.__getattribute__(self, name)
  
  File ~/GeoSegmentation/.venv/lib/python3.10/site-packages/geopandas/geodataframe.py:253, in GeoDataFrame._get_geometry(self)
      247         msg += (
      248             \"\
  There are no existing columns with geometry data type. You can \"
      249             \"add a geometry column as the active geometry column with \"
      250             \"df.set_geometry. \"
      251         )
  --> 253     raise AttributeError(msg)
      254 return self[self._geometry_column_name]
  
  AttributeError: You are calling a geospatial method on the GeoDataFrame, but the active geometry column to use has not been set. 
  There are no existing columns with geometry data type. You can add a geometry column as the active geometry column with df.set_geometry. 
  
  During handling of the above exception, another exception occurred:
  
  AttributeError                            Traceback (most recent call last)
  File ~/GeoSegmentation/.venv/lib/python3.10/site-packages/pandas/core/generic.py:6325, in NDFrame.__setattr__(self, name, value)
     6324 try:
  -> 6325     existing = getattr(self, name)
     6326     if isinstance(existing, Index):
  
  File ~/GeoSegmentation/.venv/lib/python3.10/site-packages/pandas/core/generic.py:6299, in NDFrame.__getattr__(self, name)
     6298     return self[name]
  -> 6299 return object.__getattribute__(self, name)
  
  File ~/GeoSegmentation/.venv/lib/python3.10/site-packages/geopandas/geodataframe.py:519, in GeoDataFrame.crs(self)
      518 except AttributeError:
  --> 519     raise AttributeError(
      520         \"The CRS attribute of a GeoDataFrame without an active \"
      521         \"geometry column is not defined. Use GeoDataFrame.set_geometry \"
      522         \"to set the active geometry column.\"
      523     )
  
  AttributeError: The CRS attribute of a GeoDataFrame without an active geometry column is not defined. Use GeoDataFrame.set_geometry to set the active geometry column.
  
  During handling of the above exception, another exception occurred:
  
  ValueError                                Traceback (most recent call last)
  File /home/user/GeoSegmentation/notebook/esempio.py:6
        3 m = leafmap.Map()
        4 m
  ----> 6 m.save_draw_features(\"data.geojson\")
  
  File ~/GeoSegmentation/.venv/lib/python3.10/site-packages/leafmap/leafmap.py:3889, in Map.save_draw_features(self, out_file, indent, crs, **kwargs)
     3883 geojson = {
     3884     \"type\": \"FeatureCollection\",
     3885     \"features\": self.draw_features,
     3886 }
     3888 gdf = gpd.GeoDataFrame.from_features(geojson)
  -> 3889 gdf.crs = \"epsg:4326\"
     3890 gdf.to_crs(crs).to_file(out_file, **kwargs)
  
  File ~/GeoSegmentation/.venv/lib/python3.10/site-packages/geopandas/geodataframe.py:223, in GeoDataFrame.__setattr__(self, attr, val)
      221     object.__setattr__(self, attr, val)
      222 else:
  --> 223     super().__setattr__(attr, val)
  
  File ~/GeoSegmentation/.venv/lib/python3.10/site-packages/pandas/core/generic.py:6341, in NDFrame.__setattr__(self, name, value)
     6333 if isinstance(self, ABCDataFrame) and (is_list_like(value)):
     6334     warnings.warn(
     6335         \"Pandas doesn't allow columns to be \"
     6336         \"created via a new attribute name - see \"
     (...)
     6339         stacklevel=find_stack_level(),
     6340     )
  -> 6341 object.__setattr__(self, name, value)
  
  File ~/GeoSegmentation/.venv/lib/python3.10/site-packages/geopandas/geodataframe.py:529, in GeoDataFrame.crs(self, value)
      527 \"\"\"Sets the value of the crs\"\"\"
      528 if self._geometry_column_name is None:
  --> 529     raise ValueError(
      530         \"Assigning CRS to a GeoDataFrame without a geometry column is not \"
      531         \"supported. Use GeoDataFrame.set_geometry to set the active \"
      532         \"geometry column.\",
      533     )
      535 if hasattr(self.geometry.values, \"crs\"):
      536     if self.crs is not None:
  
  ValueError: Assigning CRS to a GeoDataFrame without a geometry column is not supported. Use GeoDataFrame.set_geometry to set the active geometry column."
  }
  ```
  
  ### What I Did
  
  I use this code:
  ```
  import leafmap
  
  m = leafmap.Map()
  m
  
  m.save_draw_features("data.geojson")
  ```
  