入力(ミューズスクロールなど)とボタンでユーザーの最大ズームレベルを制限したい。言い換えれば、私は「maxZoom」を-たとえば-level9に制限します。それでも、特別な条件でレベル10にズームできるようにしたいです。 maxZoomを設定すると、明らかにそれ以上ズームできなくなります。この場合の解決策は何ですか?
最大ズームレベルを設定するには:
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(map)
コントロールを表示していて、maxZoom
またはminZoom
オプションを変更した場合、コントロールは更新されません。たとえば、最小ズームレベルが10で、現在のズームレベルが10の場合、ズームレベルを変更しても、ズームアウトコントロールは無効になっているように見えます。
このソリューションの回避策の1つは、マップ上で「zoomend」イベントをトリガーすることです。
_map.options.minZoom = 9;
map.fire('zoomend');
_
現在のズームレベルを無効にする方法で最大/最小ズームレベルを変更する場合は、setZoom()
メソッドの呼び出しを検討することもできます。