Impossible to load 1 band from a multi-band raster using add_raster method
### Environment Information

-   geemap version: 0.8.15
-   Python version: 3.6.9
-   Operating System: Linux Debian

### Description

when using a multi-band raster where 1,2 and 3 are not representing satellites bands but grid information (in my case the first band is the magnitude of change in the pixel during a monitoring period and the second one is the day of the break in julian days). 

what I'm doing is using the `add_raster` method as follow: 

```python
Map.add_raster( image_path, bands=1, layer_name='magnitude', colormap='viridis')
```

But my map is always displayed in RGB flavour. 

Looking at the code I found this `if` statement https://github.com/giswqs/geemap/blob/681d757d29f278a370882646a3ab5f7f0ce5bc28/geemap/geemap.py#L3201 :

```python
 multi_band = False
 if len(da.band) > 1:
     multi_band = True
     if bands is None:
         bands = [3, 2, 1]
else:
    bands = 1        

if multi_band:
    da = da.rio.write_nodata(0)
else:
    da = da.rio.write_nodata(np.nan)
da = da.sel(band=bands)
```

So in my case as the file is multiband the  `multi_band` bool will end up as `True`. Problem is that in the call to xarrayleaflet, the `rgb_dim="band"`will be used instead of `colormap`

diff --git a/geemap/geemap.py b/geemap/geemap.py
index 73846756..597f6dab 100644
--- a/geemap/geemap.py
+++ b/geemap/geemap.py
@@ -3220,7 +3220,7 @@ class Map(ipyleaflet.Map):
         # da = da.rio.write_nodata(0)
         # da = da.rio.write_crs(crs)
 
-        if multi_band:
+        if multi_band and type(bands) == list:
             layer = da.leaflet.plot(self, x_dim=x_dim, y_dim=y_dim, rgb_dim="band")
         else:
             layer = da.leaflet.plot(self, x_dim=x_dim, y_dim=y_dim, colormap=colormap)

['geemap/geemap.py']