¿Leaflet tiene la opción de capas dependientes de escala?

8

¿Es posible mostrar capas con Leaflet dependiendo de la escala? Por ejemplo, no mostrar condados hasta que el nivel de zoom alcance 10.

contraflujo
fuente

Respuestas:

20

sí, puedes establecer la escala en el constructor:

por ejemplo:

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

los vectores no tienen propiedades max / min, podría usar un evento zoomend para activar sumarlos o eliminarlos, algo como:

    map.on('zoomend ', function(e) {
         if ( map.getZoom() > 13 ){ map.removeLayer( vector )}
         else if ( map.getZoom() <= 13 ){ map.addLayer( vector )}
    });
warrieka
fuente
Gracias. ¿Es esto posible con L.polygon, no con L.tileLayer? Lo es, solo lo intento. ¡Muchas gracias!
Againstflow
He agregado una parte sobre las
capas vectoriales
1
Gracias por la respuesta, funciona, ¡es increíble! Solo quería agregar que el método es ligeramente diferente del mencionado warrieka. Necesita ser - map.getZoom () no map.zoommap.on('zoomend ', function(e) { if ( map.getZoom() > 12 ){ map.removeLayer( vector )} else if ( map.getZoom() <= 12 ){ map.addLayer( vector )} });