Leaflet 最大缩放和用户输入
我想通过输入(muse滚动等)和按钮限制用户的最大缩放级别。换句话说,我将“maxZoom”限制为-level9。但我仍然希望在特殊情况下能够放大到10级。Leaflet 最大缩放和用户输入,leaflet,Leaflet,我想通过输入(muse滚动等)和按钮限制用户的最大缩放级别。换句话说,我将“maxZoom”限制为-level9。但我仍然希望在特殊情况下能够放大到10级。 当我设置maxZoom时,它显然不允许我以任何方式进行更多的缩放,因此在这种情况下我的解决方案是什么?您可以在这些特殊条件下使用map.options.maxZoom动态设置地图的最大缩放级别,并在完成后将其设置回原位。设置最大缩放级别: 映射。_layersMaxZoom=15(将最大缩放级别设置为15) 同样,我们可以设置最小缩放级别:
当我设置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代码>请注意,如果显示控件,则不会更新禁用/启用的控件以反映新值。谢谢,我的控件确实没有更新。使用火(“缩放”)功能。