我想通过输入(缪斯滚动等)和按钮来限制用户的最大缩放级别。换句话说,我将“maxZoom”限制为-let say- level9。但是我还是希望能够在特殊情况下放大到level10。当我设置 maxZoom 时,它显然不会让我以任何方式放大,那么在这种情况下我的解决方案是什么?
问问题
19922 次
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
如果您正在显示控件并更改maxZoom
或minZoom
选项,则控件将不会更新。例如,如果您的最小缩放级别为 10,而当前缩放级别为 10,则即使您更改缩放级别,缩小控件也会显示为禁用。
此解决方案的一种解决方法是在地图上触发“zoomend”事件:
map.options.minZoom = 9;
map.fire('zoomend');
setZoom()
如果您以使当前缩放级别无效的方式更改最大/最小缩放级别,您可能还需要考虑调用该方法。
于 2015-04-22T10:30:23.607 回答