Leaflet 最大缩放和用户输入

Leaflet 最大缩放和用户输入,leaflet,Leaflet,我想通过输入(muse滚动等)和按钮限制用户的最大缩放级别。换句话说,我将“maxZoom”限制为-level9。但我仍然希望在特殊情况下能够放大到10级。 当我设置maxZoom时,它显然不允许我以任何方式进行更多的缩放,因此在这种情况下我的解决方案是什么?您可以在这些特殊条件下使用map.options.maxZoom动态设置地图的最大缩放级别,并在完成后将其设置回原位。设置最大缩放级别: 映射。_layersMaxZoom=15(将最大缩放级别设置为15) 同样,我们可以设置最小缩放级别:

我想通过输入(muse滚动等)和按钮限制用户的最大缩放级别。换句话说,我将“maxZoom”限制为-level9。但我仍然希望在特殊情况下能够放大到10级。
当我设置maxZoom时,它显然不允许我以任何方式进行更多的缩放,因此在这种情况下我的解决方案是什么?

您可以在这些特殊条件下使用
map.options.maxZoom
动态设置地图的最大缩放级别,并在完成后将其设置回原位。

设置最大缩放级别:

映射。_layersMaxZoom=15(将最大缩放级别设置为15)

同样,我们可以设置最小缩放级别:

映射。_layersMinZoom=2(将最小zoomlevel设置为2)

做同样事情的另一种方法-

map.options.maxZoom=15

map.options.minZoom=10这对我很有用:


L.tileLayer(“…”,{minZoom:5,maxZoom:15}).addTo(map)

如果您正在显示控件,并且更改了
maxZoom
minZoom
选项,则不会更新控件。例如,如果最小缩放级别为10,而当前缩放级别为10,则即使更改缩放级别,缩小控件也将显示为禁用

此解决方案的一个解决方法是在地图上触发“zoomend”事件:

map.options.minZoom = 9;
map.fire('zoomend');

您也可以考虑调用“代码> SETZOMO()/<代码>方法,如果您以一种使当前缩放级别无效的方式改变Max/min缩放级别。

这是内部接口,公共方式是通过设置选项。这样做的公共方法是通过选项。通过内部方法设置这些选项似乎不能正确地保持。我只使用公共选项方法。最大和最小缩放级别
map.options.maxZoom=15;map.options.minZoom=10请注意,如果显示控件,则不会更新禁用/启用的控件以反映新值。谢谢,我的控件确实没有更新。使用火(“缩放”)功能。