我正在用叶片绘制一些地图。 工作相当顺利。 但是,我不知道如何预先计算正确的缩放水平
我可以自动设置
import folium
m = folium.Map([point_of_interest.iloc[0].Lat, point_of_interest.iloc[0].Long])
但是在我的用例中,我需要预先计算zoom_start
,使得:
(Lat,Long)
的{{1}}数据框中的所有夫妇pandas
都在地图内答案 0 :(得分:2)
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
要求数据的“边界”以西南角和东北角的形式出现。您还可以使用一些填充参数
sw = df[['Lat', 'Long']].min().values.tolist()
ne = df[['Lat', 'Long']].max().values.tolist()
m.fit_bounds([sw, ne])
m