From c31a9ee71e07297f5eaa889096b849960190e18d Mon Sep 17 00:00:00 2001 From: Frederic Junod Date: Mon, 20 Apr 2015 12:13:55 +0200 Subject: [PATCH 1/2] Use getRendererFromQueryString() in wms-image examples --- examples/wms-image.js | 1 + 1 file changed, 1 insertion(+) diff --git a/examples/wms-image.js b/examples/wms-image.js index 328b5170bf..9fd8719ea4 100644 --- a/examples/wms-image.js +++ b/examples/wms-image.js @@ -22,6 +22,7 @@ var layers = [ var map = new ol.Map({ layers: layers, target: 'map', + renderer: common.getRendererFromQueryString(), view: new ol.View({ center: [-10997148, 4569099], zoom: 4 From 8fd2fae0cb8f92a9cf9b7f06cad14805ec66b456 Mon Sep 17 00:00:00 2001 From: Frederic Junod Date: Mon, 20 Apr 2015 12:15:34 +0200 Subject: [PATCH 2/2] Only draw the layer if visible and inside the resolution range --- src/ol/renderer/dom/dommaprenderer.js | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/ol/renderer/dom/dommaprenderer.js b/src/ol/renderer/dom/dommaprenderer.js index 01e296c1a0..ea2cb5ee6e 100644 --- a/src/ol/renderer/dom/dommaprenderer.js +++ b/src/ol/renderer/dom/dommaprenderer.js @@ -14,6 +14,7 @@ goog.require('ol.RendererType'); goog.require('ol.css'); goog.require('ol.dom'); goog.require('ol.layer.Image'); +goog.require('ol.layer.Layer'); goog.require('ol.layer.Tile'); goog.require('ol.layer.Vector'); goog.require('ol.render.Event'); @@ -232,6 +233,7 @@ ol.renderer.dom.Map.prototype.renderFrame = function(frameState) { this.dispatchComposeEvent_(ol.render.EventType.PRECOMPOSE, frameState); var layerStatesArray = frameState.layerStatesArray; + var viewResolution = frameState.viewState.resolution; var i, ii, layer, layerRenderer, layerState; for (i = 0, ii = layerStatesArray.length; i < ii; ++i) { layerState = layerStatesArray[i]; @@ -241,7 +243,8 @@ ol.renderer.dom.Map.prototype.renderFrame = function(frameState) { goog.asserts.assertInstanceof(layerRenderer, ol.renderer.dom.Layer, 'renderer is an instance of ol.renderer.dom.Layer'); addChild.call(this, layerRenderer.getTarget(), i); - if (layerState.sourceState == ol.source.State.READY) { + if (ol.layer.Layer.visibleAtResolution(layerState, viewResolution) && + layerState.sourceState == ol.source.State.READY) { if (layerRenderer.prepareFrame(frameState, layerState)) { layerRenderer.composeFrame(frameState, layerState); }