Apakah Leaflet memiliki opsi untuk layer yang bergantung pada skala?

8

Apakah mungkin menampilkan lapisan dengan Leaflet tergantung pada penskalaan? Misalnya tidak menampilkan kabupaten sampai tingkat zoom mencapai 10.

melawan arus
sumber

Jawaban:

20

ya Anda dapat mengatur skala di konstruktor:

sebagai contoh:

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

vektor tidak memiliki properti maks / mnt, Anda bisa menggunakan acara zoomend untuk memicu menambah atau menghapusnya, seperti:

    map.on('zoomend ', function(e) {
         if ( map.getZoom() > 13 ){ map.removeLayer( vector )}
         else if ( map.getZoom() <= 13 ){ map.addLayer( vector )}
    });
warrieka
sumber
Terima kasih. Apakah ini mungkin dengan L.polygon, bukan dengan L.tileLayer? Ya, saya coba saja. Terima kasih banyak!
terhadap arus
Saya telah menambahkan bagian tentang vectorlayers
warrieka
1
Terima kasih atas jawabannya, ini bekerja dengan luar biasa! Hanya ingin menambahkan bahwa metode ini sedikit berbeda dari warrieka yang disebutkan. Harus - map.getZoom () bukan map.zoommap.on('zoomend ', function(e) { if ( map.getZoom() > 12 ){ map.removeLayer( vector )} else if ( map.getZoom() <= 12 ){ map.addLayer( vector )} });