From 97cabd273a4f65a9e7212f6e3798898641d1af99 Mon Sep 17 00:00:00 2001 From: Tom Payne Date: Wed, 29 Jan 2014 20:33:21 +0100 Subject: [PATCH 01/15] Improve use of View2D in ol.control.ZoomToExtent --- src/ol/control/zoomtoextentcontrol.js | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/src/ol/control/zoomtoextentcontrol.js b/src/ol/control/zoomtoextentcontrol.js index 71fdae3a99..3624654894 100644 --- a/src/ol/control/zoomtoextentcontrol.js +++ b/src/ol/control/zoomtoextentcontrol.js @@ -2,6 +2,7 @@ goog.provide('ol.control.ZoomToExtent'); +goog.require('goog.asserts'); goog.require('goog.dom'); goog.require('goog.dom.TagName'); goog.require('goog.events'); @@ -61,8 +62,10 @@ ol.control.ZoomToExtent.prototype.handleZoomToExtent_ = function(browserEvent) { // prevent #zoomExtent anchor from getting appended to the url browserEvent.preventDefault(); var map = this.getMap(); - var view = map.getView().getView2D(); + var view = map.getView(); + goog.asserts.assert(goog.isDef(view)); + var view2D = view.getView2D(); var extent = goog.isNull(this.extent_) ? - view.getProjection().getExtent() : this.extent_; - view.fitExtent(extent, map.getSize()); + view2D.getProjection().getExtent() : this.extent_; + view2D.fitExtent(extent, map.getSize()); }; From ae5f5ee96db1323c0f6426fe5c88286e87e4d212 Mon Sep 17 00:00:00 2001 From: Tom Payne Date: Wed, 29 Jan 2014 20:35:05 +0100 Subject: [PATCH 02/15] Factor out common variable in ol.dom.Input --- src/ol/dom/input.js | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/ol/dom/input.js b/src/ol/dom/input.js index fb59399b17..e93fdc7c0c 100644 --- a/src/ol/dom/input.js +++ b/src/ol/dom/input.js @@ -116,10 +116,11 @@ goog.exportProperty( * @private */ ol.dom.Input.prototype.handleInputChanged_ = function() { - if (this.target_.type === 'checkbox' || this.target_.type === 'radio') { - this.setChecked(this.target_.checked); + var target = this.target_; + if (target.type === 'checkbox' || target.type === 'radio') { + this.setChecked(target.checked); } else { - this.setValue(this.target_.value); + this.setValue(target.value); } }; From a0d79fe98cc125f59006a162cf572139103393d9 Mon Sep 17 00:00:00 2001 From: Tom Payne Date: Wed, 29 Jan 2014 20:36:01 +0100 Subject: [PATCH 03/15] Improve type checking in ol.events.condition.targetNotEditable --- src/ol/events/condition.js | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/ol/events/condition.js b/src/ol/events/condition.js index 7171cbde36..dbedefbfdc 100644 --- a/src/ol/events/condition.js +++ b/src/ol/events/condition.js @@ -1,6 +1,7 @@ goog.provide('ol.events.ConditionType'); goog.provide('ol.events.condition'); +goog.require('goog.asserts'); goog.require('goog.dom.TagName'); goog.require('goog.functions'); goog.require('ol.MapBrowserEvent.EventType'); @@ -107,8 +108,9 @@ ol.events.condition.shiftKeyOnly = function(mapBrowserEvent) { * @todo stability experimental */ ol.events.condition.targetNotEditable = function(mapBrowserEvent) { - var browserEvent = mapBrowserEvent.browserEvent; - var tagName = browserEvent.target.tagName; + var target = mapBrowserEvent.browserEvent.target; + goog.asserts.assertInstanceof(target, Element); + var tagName = target.tagName; return ( tagName !== goog.dom.TagName.INPUT && tagName !== goog.dom.TagName.SELECT && From 0a537d5e86abe32fc1c3829685fef7b91df5b380 Mon Sep 17 00:00:00 2001 From: Tom Payne Date: Wed, 29 Jan 2014 20:37:59 +0100 Subject: [PATCH 04/15] Improve type checking in ol.format.Polyline.decodeDeltas --- src/ol/format/polylineformat.js | 1 + 1 file changed, 1 insertion(+) diff --git a/src/ol/format/polylineformat.js b/src/ol/format/polylineformat.js index a50cef525f..69c46a84e6 100644 --- a/src/ol/format/polylineformat.js +++ b/src/ol/format/polylineformat.js @@ -97,6 +97,7 @@ ol.format.Polyline.decodeDeltas = function(encoded, dimension, opt_factor) { var factor = goog.isDef(opt_factor) ? opt_factor : 1e5; var d; + /** @type {Array.} */ var lastNumbers = new Array(dimension); for (d = 0; d < dimension; ++d) { lastNumbers[d] = 0; From a52dbbb09ec1905e72f850011a707d2b6258193e Mon Sep 17 00:00:00 2001 From: Tom Payne Date: Wed, 29 Jan 2014 20:38:18 +0100 Subject: [PATCH 05/15] Improve type checking in ol.geom.Circle#setCenterAndRadius --- src/ol/geom/circle.js | 1 + 1 file changed, 1 insertion(+) diff --git a/src/ol/geom/circle.js b/src/ol/geom/circle.js index b669dee7d6..2e77b98284 100644 --- a/src/ol/geom/circle.js +++ b/src/ol/geom/circle.js @@ -159,6 +159,7 @@ ol.geom.Circle.prototype.setCenterAndRadius = if (goog.isNull(this.flatCoordinates)) { this.flatCoordinates = []; } + /** @type {Array.} */ var flatCoordinates = this.flatCoordinates; var offset = ol.geom.flat.deflateCoordinate( flatCoordinates, 0, center, this.stride); From c8999a5e52777b031231d9c618a51c3efa7b2e27 Mon Sep 17 00:00:00 2001 From: Tom Payne Date: Wed, 29 Jan 2014 20:39:07 +0100 Subject: [PATCH 06/15] Don't attempt to use Uint8Array in ol.geom.simplify.douglasPeucker --- src/ol/geom/simplifygeom.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/ol/geom/simplifygeom.js b/src/ol/geom/simplifygeom.js index 0a917b636e..1e361ae3e5 100644 --- a/src/ol/geom/simplifygeom.js +++ b/src/ol/geom/simplifygeom.js @@ -82,8 +82,8 @@ ol.geom.simplify.douglasPeucker = function(flatCoordinates, offset, end, } return simplifiedOffset; } - var MarkerArray = goog.global['Uint8Array'] ? Uint8Array : Array; - var markers = new MarkerArray(n); + /** @type {Array.} */ + var markers = new Array(n); markers[0] = 1; markers[n - 1] = 1; /** @type {Array.} */ From 7516aab1ca615a2eec7d17ad59f6408dc3bdd08f Mon Sep 17 00:00:00 2001 From: Tom Payne Date: Wed, 29 Jan 2014 20:39:29 +0100 Subject: [PATCH 07/15] Fix option property in ol.interaction.KeyboardPan --- src/ol/interaction/keyboardpaninteraction.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/ol/interaction/keyboardpaninteraction.js b/src/ol/interaction/keyboardpaninteraction.js index f38e0c004a..7dd699386a 100644 --- a/src/ol/interaction/keyboardpaninteraction.js +++ b/src/ol/interaction/keyboardpaninteraction.js @@ -45,7 +45,7 @@ ol.interaction.KeyboardPan = function(opt_options) { * @private * @type {number} */ - this.delta_ = goog.isDef(options.delta) ? options.delta : 128; + this.pixelDelta_ = goog.isDef(options.pixelDelta) ? options.pixelDelta : 128; }; goog.inherits(ol.interaction.KeyboardPan, ol.interaction.Interaction); @@ -71,7 +71,7 @@ ol.interaction.KeyboardPan.prototype.handleMapBrowserEvent = var view = map.getView(); goog.asserts.assertInstanceof(view, ol.View2D); var view2DState = view.getView2DState(); - var mapUnitsDelta = view2DState.resolution * this.delta_; + var mapUnitsDelta = view2DState.resolution * this.pixelDelta_; var deltaX = 0, deltaY = 0; if (keyCode == goog.events.KeyCodes.DOWN) { deltaY = -mapUnitsDelta; From e85cc8b80eac48d342862c891acbe8c24137192b Mon Sep 17 00:00:00 2001 From: Tom Payne Date: Wed, 29 Jan 2014 20:40:48 +0100 Subject: [PATCH 08/15] Improve type checking in ol.interaction.Select --- src/ol/interaction/selectinteraction.js | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/src/ol/interaction/selectinteraction.js b/src/ol/interaction/selectinteraction.js index b1ff72c6be..8f339129d0 100644 --- a/src/ol/interaction/selectinteraction.js +++ b/src/ol/interaction/selectinteraction.js @@ -38,12 +38,22 @@ ol.interaction.Select = function(opt_options) { layerFilter = options.layerFilter; } else if (goog.isDef(options.layer)) { var layer = options.layer; - layerFilter = function(l) { + layerFilter = + /** + * @param {ol.layer.Layer} l Layer. + * @return {boolean} Include. + */ + function(l) { return l === layer; }; } else if (goog.isDef(options.layers)) { var layers = options.layers; - layerFilter = function(layer) { + layerFilter = + /** + * @param {ol.layer.Layer} layer Layer. + * @return {boolean} Include. + */ + function(layer) { return goog.array.indexOf(layers, layer) != -1; }; } else { @@ -102,6 +112,7 @@ ol.interaction.Select.prototype.handleMapBrowserEvent = } }, undefined, this.layerFilter_); } else { + /** @type {ol.Feature|undefined} */ var feature = map.forEachFeatureAtPixel(mapBrowserEvent.pixel, /** * @param {ol.Feature} feature Feature. From 18bbf5bceca05b3bf6c6c5b8423d436fab9fb287 Mon Sep 17 00:00:00 2001 From: Tom Payne Date: Wed, 29 Jan 2014 20:41:22 +0100 Subject: [PATCH 09/15] Improve type checking in ol.Map --- src/ol/map.js | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/src/ol/map.js b/src/ol/map.js index 89f874014e..54d11a6719 100644 --- a/src/ol/map.js +++ b/src/ol/map.js @@ -376,6 +376,7 @@ ol.Map = function(options) { this.controls_.forEach( /** * @param {ol.control.Control} control Control. + * @this {ol.Map} */ function(control) { control.setMap(this); @@ -384,6 +385,7 @@ ol.Map = function(options) { this.interactions_.forEach( /** * @param {ol.interaction.Interaction} interaction Interaction. + * @this {ol.Map} */ function(interaction) { interaction.setMap(this); @@ -392,6 +394,7 @@ ol.Map = function(options) { this.overlays_.forEach( /** * @param {ol.Overlay} overlay Overlay. + * @this {ol.Map} */ function(overlay) { overlay.setMap(this); @@ -1342,10 +1345,10 @@ ol.Map.createOptionsInternal = function(options) { rendererHints = ol.DEFAULT_RENDERER_HINTS; } - var n = rendererHints.length; - var i, rendererHint; - for (i = 0; i < n; ++i) { - rendererHint = rendererHints[i]; + var i, ii; + for (i = 0, ii = rendererHints.length; i < ii; ++i) { + /** @type {ol.RendererHint} */ + var rendererHint = rendererHints[i]; if (rendererHint == ol.RendererHint.CANVAS) { if (ol.BrowserFeature.HAS_CANVAS) { rendererConstructor = ol.renderer.canvas.Map; From c5dd7988c90b61fbe8c63f7dd06a5e4e746f2fb1 Mon Sep 17 00:00:00 2001 From: Tom Payne Date: Wed, 29 Jan 2014 20:52:51 +0100 Subject: [PATCH 10/15] Use ol.ENABLE_* to help Compiler eliminate unreachable code --- src/ol/map.js | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/ol/map.js b/src/ol/map.js index 54d11a6719..1d4d518539 100644 --- a/src/ol/map.js +++ b/src/ol/map.js @@ -1349,17 +1349,17 @@ ol.Map.createOptionsInternal = function(options) { for (i = 0, ii = rendererHints.length; i < ii; ++i) { /** @type {ol.RendererHint} */ var rendererHint = rendererHints[i]; - if (rendererHint == ol.RendererHint.CANVAS) { + if (ol.ENABLE_CANVAS && rendererHint == ol.RendererHint.CANVAS) { if (ol.BrowserFeature.HAS_CANVAS) { rendererConstructor = ol.renderer.canvas.Map; break; } - } else if (rendererHint == ol.RendererHint.DOM) { + } else if (ol.ENABLE_DOM && rendererHint == ol.RendererHint.DOM) { if (ol.BrowserFeature.HAS_DOM) { rendererConstructor = ol.renderer.dom.Map; break; } - } else if (rendererHint == ol.RendererHint.WEBGL) { + } else if (ol.ENABLE_WEBGL && rendererHint == ol.RendererHint.WEBGL) { if (ol.BrowserFeature.HAS_WEBGL) { rendererConstructor = ol.renderer.webgl.Map; break; From ce3209a439c552eade04cbeba98fe108f2a661d7 Mon Sep 17 00:00:00 2001 From: Tom Payne Date: Wed, 29 Jan 2014 20:54:09 +0100 Subject: [PATCH 11/15] Improve type checking in ol.Object#bindTo --- src/ol/object.js | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/src/ol/object.js b/src/ol/object.js index c8eacc40fb..0d643536cf 100644 --- a/src/ol/object.js +++ b/src/ol/object.js @@ -235,9 +235,13 @@ ol.Object.prototype.bindTo = function(key, target, opt_targetKey) { // listen for change:targetkey events var eventType = ol.Object.getChangeEventType(targetKey); - this.listeners_[key] = goog.events.listen(target, eventType, function() { - this.notifyInternal_(key); - }, undefined, this); + this.listeners_[key] = goog.events.listen(target, eventType, + /** + * @this {ol.Object} + */ + function() { + this.notifyInternal_(key); + }, undefined, this); // listen for beforechange events and relay if key matches this.beforeChangeListeners_[key] = goog.events.listen(target, From 2f50b9dc84383ff9a9ac33673748a9d9b8d5b3cc Mon Sep 17 00:00:00 2001 From: Tom Payne Date: Wed, 29 Jan 2014 21:01:13 +0100 Subject: [PATCH 12/15] Sort layer types alphabetically --- src/ol/renderer/dom/dommaprenderer.js | 6 +++--- src/ol/renderer/webgl/webglmaprenderer.js | 6 +++--- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/src/ol/renderer/dom/dommaprenderer.js b/src/ol/renderer/dom/dommaprenderer.js index 53b8867ec6..08cbfd33e7 100644 --- a/src/ol/renderer/dom/dommaprenderer.js +++ b/src/ol/renderer/dom/dommaprenderer.js @@ -53,10 +53,10 @@ goog.inherits(ol.renderer.dom.Map, ol.renderer.Map); */ ol.renderer.dom.Map.prototype.createLayerRenderer = function(layer) { var layerRenderer; - if (layer instanceof ol.layer.Tile) { - layerRenderer = new ol.renderer.dom.TileLayer(this, layer); - } else if (layer instanceof ol.layer.Image) { + if (layer instanceof ol.layer.Image) { layerRenderer = new ol.renderer.dom.ImageLayer(this, layer); + } else if (layer instanceof ol.layer.Tile) { + layerRenderer = new ol.renderer.dom.TileLayer(this, layer); } else { goog.asserts.fail(); return null; diff --git a/src/ol/renderer/webgl/webglmaprenderer.js b/src/ol/renderer/webgl/webglmaprenderer.js index d2bdb4add3..ef78d312b2 100644 --- a/src/ol/renderer/webgl/webglmaprenderer.js +++ b/src/ol/renderer/webgl/webglmaprenderer.js @@ -258,10 +258,10 @@ ol.renderer.webgl.Map.prototype.bindTileTexture = * @inheritDoc */ ol.renderer.webgl.Map.prototype.createLayerRenderer = function(layer) { - if (layer instanceof ol.layer.Tile) { - return new ol.renderer.webgl.TileLayer(this, layer); - } else if (layer instanceof ol.layer.Image) { + if (layer instanceof ol.layer.Image) { return new ol.renderer.webgl.ImageLayer(this, layer); + } else if (layer instanceof ol.layer.Tile) { + return new ol.renderer.webgl.TileLayer(this, layer); } else { goog.asserts.fail(); return null; From 8b128ece81fab999fbba37713d9d9008fe8202b8 Mon Sep 17 00:00:00 2001 From: Tom Payne Date: Wed, 29 Jan 2014 21:06:22 +0100 Subject: [PATCH 13/15] Add ol.ENABLE_IMAGE to control inclusion of image layer renderers --- src/ol/browserfeature.js | 6 ++++++ src/ol/renderer/canvas/canvasmaprenderer.js | 2 +- src/ol/renderer/dom/dommaprenderer.js | 2 +- src/ol/renderer/webgl/webglmaprenderer.js | 2 +- 4 files changed, 9 insertions(+), 3 deletions(-) diff --git a/src/ol/browserfeature.js b/src/ol/browserfeature.js index b8b9614ea8..4d82cd436a 100644 --- a/src/ol/browserfeature.js +++ b/src/ol/browserfeature.js @@ -23,6 +23,12 @@ ol.ENABLE_CANVAS = true; ol.ENABLE_DOM = true; +/** + * @define {boolean} Whether to enable rendering of image layers. + */ +ol.ENABLE_IMAGE = true; + + /** * @define {boolean} Whether to enable WebGL. */ diff --git a/src/ol/renderer/canvas/canvasmaprenderer.js b/src/ol/renderer/canvas/canvasmaprenderer.js index d4d4dc2404..4aedf17c9d 100644 --- a/src/ol/renderer/canvas/canvasmaprenderer.js +++ b/src/ol/renderer/canvas/canvasmaprenderer.js @@ -72,7 +72,7 @@ goog.inherits(ol.renderer.canvas.Map, ol.renderer.Map); * @inheritDoc */ ol.renderer.canvas.Map.prototype.createLayerRenderer = function(layer) { - if (layer instanceof ol.layer.Image) { + if (ol.ENABLE_IMAGE && layer instanceof ol.layer.Image) { return new ol.renderer.canvas.ImageLayer(this, layer); } else if (layer instanceof ol.layer.Tile) { return new ol.renderer.canvas.TileLayer(this, layer); diff --git a/src/ol/renderer/dom/dommaprenderer.js b/src/ol/renderer/dom/dommaprenderer.js index 08cbfd33e7..d9d764e8c3 100644 --- a/src/ol/renderer/dom/dommaprenderer.js +++ b/src/ol/renderer/dom/dommaprenderer.js @@ -53,7 +53,7 @@ goog.inherits(ol.renderer.dom.Map, ol.renderer.Map); */ ol.renderer.dom.Map.prototype.createLayerRenderer = function(layer) { var layerRenderer; - if (layer instanceof ol.layer.Image) { + if (ol.ENABLE_IMAGE && layer instanceof ol.layer.Image) { layerRenderer = new ol.renderer.dom.ImageLayer(this, layer); } else if (layer instanceof ol.layer.Tile) { layerRenderer = new ol.renderer.dom.TileLayer(this, layer); diff --git a/src/ol/renderer/webgl/webglmaprenderer.js b/src/ol/renderer/webgl/webglmaprenderer.js index ef78d312b2..d92bee38fb 100644 --- a/src/ol/renderer/webgl/webglmaprenderer.js +++ b/src/ol/renderer/webgl/webglmaprenderer.js @@ -258,7 +258,7 @@ ol.renderer.webgl.Map.prototype.bindTileTexture = * @inheritDoc */ ol.renderer.webgl.Map.prototype.createLayerRenderer = function(layer) { - if (layer instanceof ol.layer.Image) { + if (ol.ENABLE_IMAGE && layer instanceof ol.layer.Image) { return new ol.renderer.webgl.ImageLayer(this, layer); } else if (layer instanceof ol.layer.Tile) { return new ol.renderer.webgl.TileLayer(this, layer); From 7e020e4d26bbe0973dfe5a3336a9094bd497d81b Mon Sep 17 00:00:00 2001 From: Tom Payne Date: Wed, 29 Jan 2014 21:08:36 +0100 Subject: [PATCH 14/15] Add ol.ENABLE_TILE to control inclusion of tile layer renderers --- src/ol/browserfeature.js | 6 ++++++ src/ol/renderer/canvas/canvasmaprenderer.js | 2 +- src/ol/renderer/dom/dommaprenderer.js | 2 +- src/ol/renderer/webgl/webglmaprenderer.js | 2 +- 4 files changed, 9 insertions(+), 3 deletions(-) diff --git a/src/ol/browserfeature.js b/src/ol/browserfeature.js index 4d82cd436a..1d5a79ec7b 100644 --- a/src/ol/browserfeature.js +++ b/src/ol/browserfeature.js @@ -29,6 +29,12 @@ ol.ENABLE_DOM = true; ol.ENABLE_IMAGE = true; +/** + * @define {boolean} Whether to enable rendering of tile layers. + */ +ol.ENABLE_TILE = true; + + /** * @define {boolean} Whether to enable WebGL. */ diff --git a/src/ol/renderer/canvas/canvasmaprenderer.js b/src/ol/renderer/canvas/canvasmaprenderer.js index 4aedf17c9d..3fa2ddc87a 100644 --- a/src/ol/renderer/canvas/canvasmaprenderer.js +++ b/src/ol/renderer/canvas/canvasmaprenderer.js @@ -74,7 +74,7 @@ goog.inherits(ol.renderer.canvas.Map, ol.renderer.Map); ol.renderer.canvas.Map.prototype.createLayerRenderer = function(layer) { if (ol.ENABLE_IMAGE && layer instanceof ol.layer.Image) { return new ol.renderer.canvas.ImageLayer(this, layer); - } else if (layer instanceof ol.layer.Tile) { + } else if (ol.ENABLE_TILE && layer instanceof ol.layer.Tile) { return new ol.renderer.canvas.TileLayer(this, layer); } else if (layer instanceof ol.layer.Vector) { return new ol.renderer.canvas.VectorLayer(this, layer); diff --git a/src/ol/renderer/dom/dommaprenderer.js b/src/ol/renderer/dom/dommaprenderer.js index d9d764e8c3..42913d4b94 100644 --- a/src/ol/renderer/dom/dommaprenderer.js +++ b/src/ol/renderer/dom/dommaprenderer.js @@ -55,7 +55,7 @@ ol.renderer.dom.Map.prototype.createLayerRenderer = function(layer) { var layerRenderer; if (ol.ENABLE_IMAGE && layer instanceof ol.layer.Image) { layerRenderer = new ol.renderer.dom.ImageLayer(this, layer); - } else if (layer instanceof ol.layer.Tile) { + } else if (ol.ENABLE_TILE && layer instanceof ol.layer.Tile) { layerRenderer = new ol.renderer.dom.TileLayer(this, layer); } else { goog.asserts.fail(); diff --git a/src/ol/renderer/webgl/webglmaprenderer.js b/src/ol/renderer/webgl/webglmaprenderer.js index d92bee38fb..25939e6b1f 100644 --- a/src/ol/renderer/webgl/webglmaprenderer.js +++ b/src/ol/renderer/webgl/webglmaprenderer.js @@ -260,7 +260,7 @@ ol.renderer.webgl.Map.prototype.bindTileTexture = ol.renderer.webgl.Map.prototype.createLayerRenderer = function(layer) { if (ol.ENABLE_IMAGE && layer instanceof ol.layer.Image) { return new ol.renderer.webgl.ImageLayer(this, layer); - } else if (layer instanceof ol.layer.Tile) { + } else if (ol.ENABLE_TILE && layer instanceof ol.layer.Tile) { return new ol.renderer.webgl.TileLayer(this, layer); } else { goog.asserts.fail(); From b6af02a762ea5199c0dd2132634cc605316a8bf1 Mon Sep 17 00:00:00 2001 From: Tom Payne Date: Wed, 29 Jan 2014 21:11:53 +0100 Subject: [PATCH 15/15] Add ol.ENABLE_VECTOR to control inclusion of vector layer renderers --- src/ol/browserfeature.js | 6 ++++++ src/ol/renderer/canvas/canvasmaprenderer.js | 2 +- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/src/ol/browserfeature.js b/src/ol/browserfeature.js index 1d5a79ec7b..e03792b08a 100644 --- a/src/ol/browserfeature.js +++ b/src/ol/browserfeature.js @@ -35,6 +35,12 @@ ol.ENABLE_IMAGE = true; ol.ENABLE_TILE = true; +/** + * @define {boolean} Whether to enable rendering of vector layers. + */ +ol.ENABLE_VECTOR = true; + + /** * @define {boolean} Whether to enable WebGL. */ diff --git a/src/ol/renderer/canvas/canvasmaprenderer.js b/src/ol/renderer/canvas/canvasmaprenderer.js index 3fa2ddc87a..bd9c0fcfda 100644 --- a/src/ol/renderer/canvas/canvasmaprenderer.js +++ b/src/ol/renderer/canvas/canvasmaprenderer.js @@ -76,7 +76,7 @@ ol.renderer.canvas.Map.prototype.createLayerRenderer = function(layer) { return new ol.renderer.canvas.ImageLayer(this, layer); } else if (ol.ENABLE_TILE && layer instanceof ol.layer.Tile) { return new ol.renderer.canvas.TileLayer(this, layer); - } else if (layer instanceof ol.layer.Vector) { + } else if (ol.ENABLE_VECTOR && layer instanceof ol.layer.Vector) { return new ol.renderer.canvas.VectorLayer(this, layer); } else { goog.asserts.fail();