maxZoom和用户输入

时间:2013-01-29 14:19:37

标签: leaflet

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

4 个答案:

答案 0 :(得分:29)

用于设置最大缩放级别:

map._layersMaxZoom = 15 (将最大缩放级别设置为15)

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

map._layersMinZoom = 2 ,(将最小缩放级别设置为2)。

另一种做同样的方式 -

map.options.maxZoom = 15;

map.options.minZoom = 10;

答案 1 :(得分:20)

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

答案 2 :(得分:4)

这对我有用:

L.tileLayer('...',{minZoom:5,maxZoom:15})。addTo(map)

答案 3 :(得分:2)

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

此解决方案的一个解决方法是触发“缩放”'地图上的活动:

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

如果以一种使当前缩放级别无效的方式更改最大/最小缩放级别,您可能还需要考虑调用setZoom()方法。