1 votos

Función de llamada al zoom mínimo en OpenLayers 3

Estoy desarrollando un proyecto en el que OSM (OpenStreetMap) es el mapa base por defecto. Hay una imagen de satélite que se carga después de seleccionarla en la lista de capas. He asignado un minzoom y un maxzoom. Ahora quiero que cuando la capa llegue al minzoom la imagen del satélite desaparezca y la capa OSM aparezca como capa de fondo. Tengo que llamar a una función para esto.

function zoomlevel()
    {
        if(maxZoom==18)
        {
            base_layer_definition_array.push(new ol.layer.Tile({
                  title: 'Satellite Image',
                group: "background",
                visible: false,
                crossOrigin: 'anonymous',
                source: new ol.source.XYZ({
                    urls:[
                        'http://localhost/tileserver/sate.png'
                    ],
                    minZoom: 0,
                    maxZoom: 21,
                    tilePixelRatio: 1
                })
            }));
        }
    }

1voto

Espen Puntos 938

Puedes ver los cambios de resolución de la vista del mapa y cambiar la capa base, por ejemplo:

map.getView().on('change:resolution', function(evt){
  var zoom = map.getView().getZoom();
  if (zoom < 18) {
    layer_satellite.setVisible(true);
  } else {
    layer_satellite.setVisible(false);
  }

  // or
  layer_satellite.setVisible(zoom < 18);
});

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X