预先确定 folium 的最佳缩放级别

pre-determine optimal level of zoom in folium

我正在使用 folium 绘制一些地图。 工作相当顺利。 但是,我不知道如何预先计算正确的缩放级别

我可以自动设置

import folium
m = folium.Map([point_of_interest.iloc[0].Lat, point_of_interest.iloc[0].Long])

但在我的用例中,我需要预先计算 zoom_start 这样:

folium 的 fit_bounds 方法应该适合你

一些随机样本数据

import folium
import numpy as np
import pandas as pd

center_point = [40, -90]

data = (
    np.random.normal(size=(100, 2)) *
    np.array([[.5, .5]]) +
    np.array([center_point])
)

df = pd.DataFrame(data, columns=['Lat', 'Long'])

创建带有一些标记的地图

m = folium.Map(df[['Lat', 'Long']].mean().values.tolist())

for lat, lon in zip(df['Lat'], df['Long']):
    folium.Marker([lat, lon]).add_to(m)

fit_bounds需要我们数据的'bounds'形式为西南角和东北角。您也可以使用一些填充参数

sw = df[['Lat', 'Long']].min().values.tolist()
ne = df[['Lat', 'Long']].max().values.tolist()

m.fit_bounds([sw, ne]) 
m