usted puede hacer esto con alguna forma programática como el registro de mapa con zoomend
:
eventListeners
{Objeto} Si se establece como una opción en la construcción, la
eventListeners objeto será registrado con .
EVENT_TYPES
{Array(Cadena)} solicitud de apoyo de los tipos de evento. El registro de un
escucha para un evento en particular, con la siguiente sintaxis:
map.events.register(type, obj, listener);
Los oyentes se llama con una referencia a un objeto de evento. El
las propiedades de este evento depende de exactamente lo que sucedió.
Solución De Código:
var layer1 = new OpenLayers.Layer.WMS( "OpenLayers WMS",
"http://vmap0.tiles.osgeo.org/wms/vmap0",
{layers: 'basic'}, {'displayInLayerSwitcher':false} );
var layer2 = new OpenLayers.Layer.WMS( "NASA Global Mosaic",
"http://t1.hypercube.telascience.org/cgi-bin/landsat7",
{layers: "landsat7"}, {'isBaseLayer': false});
var layer3 = new OpenLayers.Layer.WMS( "DM Solutions Demo",
"http://www2.dmsolutions.ca/cgi-bin/mswms_gmap",
{layers: "bathymetry,land_fn,park,drain_fn,drainage," +
"prov_bound,fedlimit,rail,road,popplace",
transparent: "true", format: "image/png" });
layer2.setVisibility(false);
layer3.setVisibility(false);
map.addLayers([layer1, layer2, layer3]);
map.events.register('zoomend', this, function (event) {
var zLevel = map.getZoom();
if( zLevel == 13 || zLevel == 14 || zLevel == 15 )
{
layer2.setVisibility(true);
}
if( zLevel == 16 || zLevel == 17 || zLevel == 18)
{
layer2.setVisibility(false);
layer3.setVisibility(true);
}
});
espero te sirva de ayuda...