From cf9a41f77e4d15c96226b125f5963e9f981d8ecb Mon Sep 17 00:00:00 2001 From: Tom Payne Date: Tue, 10 Jul 2012 20:52:32 +0200 Subject: [PATCH] Create camera, layers and projection if not specified --- skeleton.html | 15 +++------------ src/ol/map.js | 15 +++++++++++++-- 2 files changed, 16 insertions(+), 14 deletions(-) diff --git a/skeleton.html b/skeleton.html index 66a711e20a..7afb8463cc 100644 --- a/skeleton.html +++ b/skeleton.html @@ -7,23 +7,14 @@ diff --git a/src/ol/map.js b/src/ol/map.js index 5773141922..560b7a3189 100644 --- a/src/ol/map.js +++ b/src/ol/map.js @@ -1,5 +1,6 @@ goog.provide('ol.Map'); +goog.require('goog.object'); goog.require('ol.Array'); goog.require('ol.Camera'); goog.require('ol.DOMMapRenderer'); @@ -68,9 +69,19 @@ ol.Map = function(target, opt_values) { goog.asserts.assert(!goog.isNull(this.mapRenderer_)); - if (goog.isDef(opt_values)) { - this.setValues(opt_values); + var values = goog.isDef(opt_values) ? goog.object.clone(opt_values) : {}; + + if (!(ol.MapProperty.CAMERA in values)) { + values[ol.MapProperty.CAMERA] = new ol.Camera(); } + if (!(ol.MapProperty.LAYERS in values)) { + values[ol.MapProperty.LAYERS] = new ol.Array(); + } + if (!(ol.MapProperty.PROJECTION in values)) { + values[ol.MapProperty.PROJECTION] = ol.Projection.createFromCode('EPSG:3857'); + } + + this.setValues(values); }; goog.inherits(ol.Map, ol.Object);