17

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

4

4 回答 4

30

设置最大缩放级别:

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

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

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

另一种做同样的方式-

map.options.maxZoom = 15;

map.options.minZoom = 10;

于 2013-02-04T10:04:49.013 回答
19

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

于 2013-01-30T09:31:56.463 回答
5

这对我有用:

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

于 2014-07-21T17:49:03.557 回答
2

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

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

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

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

于 2015-04-22T10:30:23.607 回答