@@ -64,6 +64,7 @@ def add_gdf(
64
64
color_map : Optional [Union [str , Dict ]] = None ,
65
65
color_k : Optional [int ] = 5 ,
66
66
color_args : dict = {},
67
+ zoom : Optional [float ] = 10.0 ,
67
68
** kwargs : Any ,
68
69
) -> None :
69
70
"""Adds a GeoPandas GeoDataFrame to the map.
@@ -85,6 +86,7 @@ def add_gdf(
85
86
'UserDefined'). Arguments can be passed in classification_kwds.
86
87
color_k (Optional[int], optional): The number of classes to use for color encoding. Defaults to 5.
87
88
color_args (dict, optional): Additional keyword arguments that will be passed to assign_continuous_colors(). Defaults to {}.
89
+ zoom (Optional[float], optional): The zoom level to zoom to. Defaults to 10.0.
88
90
**kwargs: Additional keyword arguments that will be passed to lonboard.Layer.from_geopandas()
89
91
90
92
Returns:
@@ -158,10 +160,19 @@ def add_gdf(
158
160
if zoom_to_layer :
159
161
try :
160
162
bounds = gdf .total_bounds .tolist ()
163
+ x = (bounds [0 ] + bounds [2 ]) / 2
164
+ y = (bounds [1 ] + bounds [3 ]) / 2
165
+
166
+ src_crs = gdf .crs
167
+ if src_crs is None :
168
+ src_crs = "EPSG:4326"
169
+
170
+ lon , lat = convert_coordinates (x , y , src_crs , "EPSG:4326" )
171
+
161
172
self ._initial_view_state = {
162
- "latitude" : ( bounds [ 1 ] + bounds [ 3 ]) / 2 ,
163
- "longitude" : ( bounds [ 0 ] + bounds [ 2 ]) / 2 ,
164
- "zoom" : 10 ,
173
+ "latitude" : lat ,
174
+ "longitude" : lon ,
175
+ "zoom" : zoom ,
165
176
}
166
177
except Exception as e :
167
178
print (e )
0 commit comments