リーフレットには、縮尺依存レイヤーのオプションがありますか?


8

スケーリングに応じて、リーフレットでレイヤーを表示することはできますか?たとえば、ズームレベルが10に達するまで郡を表示しません。

回答:


20

はい、あなたはコンストラクタでスケールを設定することができます:

例えば:

var layer = L.tileLayer("http://{s}.tile.page.com/map/{z}/{x}/{y}.jpg", {
        minZoom: 1,
        maxZoom: 14
    } ) ;

ベクトルにはmax / minプロパティがありません。次のようなZoomendイベントを使用して、ベクトルの追加または削除をトリガーできます。

    map.on('zoomend ', function(e) {
         if ( map.getZoom() > 13 ){ map.removeLayer( vector )}
         else if ( map.getZoom() <= 13 ){ map.addLayer( vector )}
    });

ありがとう。これはL.tileLayerではなくL.polygonで可能ですか?それは、私はそれを試してみるだけです。本当にありがとう!
2013年

vectorlayersに関する部分を追加しました
warrieka

1
答えをありがとう、それは素晴らしいです!方法が言及されたwarriekaとわずかに異なることを追加したかっただけです。する必要があります-map.zoomではなくmap.getZoom()map.on('zoomend ', function(e) { if ( map.getZoom() > 12 ){ map.removeLayer( vector )} else if ( map.getZoom() <= 12 ){ map.addLayer( vector )} });
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.