入力(ミューズスクロールなど)とボタンでユーザーの最大ズームレベルを制限したい。つまり、「maxZoom」をレベル 9 に制限します。しかし、特別な条件で level10 までズームできるようにしたいのです。maxZoom を設定すると、明らかにそれ以上ズームすることはできません。この場合の解決策は何ですか?
4 に答える
最大ズームレベルを設定するには:
map._layersMaxZoom = 15(最大ズームレベルを15に設定します)
同様に、最小ズームレベルを設定できます。
map._layersMinZoom = 2、(最小ズームレベルを2に設定します)。
同じことをする別の方法-
map.options.maxZoom = 15;
map.options.minZoom = 10;
map.options.maxZoom
これらの特別な条件でマップの最大ズームレベルを動的に設定し、完了したら元に戻すことができます。
これは私のために働く:
L.tileLayer('...', { minZoom: 5, maxZoom: 15 }).addTo(マップ)
コントロールを表示しているときにmaxZoom
またはminZoom
オプションを変更しても、コントロールは更新されません。たとえば、最小ズーム レベルが 10 で、現在のズーム レベルが 10 の場合、ズーム レベルを変更しても、ズーム アウト コントロールは無効に見えます。
この解決策の 1 つの回避策は、マップ上で「zoomend」イベントをトリガーすることです。
map.options.minZoom = 9;
map.fire('zoomend');
setZoom()
現在のズーム レベルを無効にする方法で最大/最小ズーム レベルを変更する場合は、このメソッドを呼び出すことも検討してください。