我在设置 max_lat/min_lat max_lon/min_lon 时遇到问题,因此我可以限制用户在地图上滚动。
map = folium.Map(location = [41.1227, 20.7999],
min_lot=40.876401,
max_lot=41.16237,
min_lat=20.77199,
max_lat=20.85032,
tiles = 'CartoDB dark_matter',
zoom_start = 13,
max_zoom = 18,
min_zoom =13,
width = '100%',
height = '40%',
zoom_control=False )
即使一切都准备好了,我仍然可以拖来拖去。如有任何帮助,我们将不胜感激!
固定显示范围的一个简单方法是添加
max_bounds=True
。它似乎只是限制了纬度。最大和最小缩放值之间的最窄间隔可能会导致使用水平滚动时产生更高的负载,这可能会抑制拖动操作。
import folium
map = folium.Map(location = [41.1227, 20.7999],
min_lot=40.876401,
max_lot=41.16237,
min_lat=20.77199,
max_lat=20.85032,
max_bounds=True,
zoom_start = 6,
max_zoom = 5,
min_zoom =4,
width = '100%',
height = '100%',
zoom_control=False )
# map.fit_bounds([[40.876401,20.77199],[41.16237,20.85032]])
map
尝试分别将 min_lot 和 max_lot 更改为 min_lon 和 max_lon。这应该会停止无限水平平移。
您需要结合此处给出的两个答案,即设置
max_bounds=True
和 修复纵向范围参数中的拼写错误:
m = folium.Map(
min_lon = 40.8, # example values taken from OP
max_lon = 41.2,
min_lat = 20.7,
max_lat = 20.9,
max_bounds=True,
# any other arguments you may want to pass
)
就可以了。 (
Map
构造函数不会抱怨拼写错误的参数。)