Replace ol.createMap with friendlier ol.Map constructor

This commit is contained in:
Tom Payne
2012-09-26 10:58:13 +02:00
parent 3bd204fb6a
commit b73b2d12c4
6 changed files with 272 additions and 214 deletions

View File

@@ -76,14 +76,11 @@ ol.MapPaneZIndex = {
* @extends {ol.Object}
* @implements {goog.fx.anim.Animated}
* @param {Element} container Container.
* @param {function(new: ol.renderer.Map, Element, ol.Map)} rendererConstructor
* Renderer constructor.
* @param {Object=} opt_values Values.
* @param {ol.MapOptionsLiteral} mapOptionsLiteral Map options literal.
* @param {goog.dom.ViewportSizeMonitor=} opt_viewportSizeMonitor
* Viewport size monitor.
*/
ol.Map = function(
container, rendererConstructor, opt_values, opt_viewportSizeMonitor) {
ol.Map = function(container, mapOptionsLiteral, opt_viewportSizeMonitor) {
goog.base(this);
@@ -95,6 +92,8 @@ ol.Map = function(
this.logger = goog.debug.Logger.getLogger('ol.map.' + goog.getUid(this));
}
var mapOptions = new ol.MapOptions(mapOptionsLiteral);
/**
* @type {ol.TransformFunction}
* @private
@@ -176,7 +175,7 @@ ol.Map = function(
* @type {ol.renderer.Map}
* @private
*/
this.renderer_ = new rendererConstructor(this.viewport_, this);
this.renderer_ = new mapOptions.rendererConstructor(this.viewport_, this);
this.registerDisposable(this.renderer_);
/**
@@ -197,9 +196,7 @@ ol.Map = function(
this, ol.Object.getChangedEventType(ol.MapProperty.USER_PROJECTION),
this.handleUserProjectionChanged, false, this);
if (goog.isDef(opt_values)) {
this.setValues(opt_values);
}
this.setValues(mapOptions.values);
this.handleBrowserWindowResize();