Hat Leaflet die Option für skalierungsabhängige Ebenen?

8

Ist es möglich, Ebenen mit Leaflet abhängig von der Skalierung anzuzeigen? Zeigen Sie beispielsweise keine Landkreise an, bis die Zoomstufe 10 erreicht.

Gegenstrom
quelle

Antworten:

19

Ja, Sie können die Skalierung im Konstruktor festlegen:

zum Beispiel:

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

Vektoren haben keine Max / Min-Eigenschaften. Sie können ein Zoomend-Ereignis verwenden, um das Hinzufügen oder Entfernen dieser Vektoren auszulösen.

    map.on('zoomend ', function(e) {
         if ( map.getZoom() > 13 ){ map.removeLayer( vector )}
         else if ( map.getZoom() <= 13 ){ map.addLayer( vector )}
    });
warrieka
quelle
Vielen Dank. Ist dies mit L.polygon möglich, nicht mit L.tileLayer? Es ist so, ich versuche es einfach. Vielen Dank!
Gegenstrom
Ich habe einen Teil über Vektorschichten hinzugefügt
warrieka
1
Danke für die Antwort, es funktioniert, was großartig ist! Ich wollte nur hinzufügen, dass die Methode etwas anders ist als die erwähnte warrieka. Muss sein - map.getZoom () nicht map.zoommap.on('zoomend ', function(e) { if ( map.getZoom() > 12 ){ map.removeLayer( vector )} else if ( map.getZoom() <= 12 ){ map.addLayer( vector )} });