Type check with olx.LogoOptions

This commit is contained in:
Antoine Abt
2014-07-24 16:40:34 +02:00
parent 280a7c520f
commit d50f40dcce
4 changed files with 54 additions and 46 deletions

View File

@@ -98,6 +98,14 @@ olx.GeolocationOptions.prototype.trackingOptions;
olx.GeolocationOptions.prototype.projection; olx.GeolocationOptions.prototype.projection;
/**
* Object literal with config options for the map logo.
* @typedef {{href: (string), src: (string)}}
* @api
*/
olx.LogoOptions;
/** /**
* Object literal with config options for the map. * Object literal with config options for the map.
* @typedef {{controls: (ol.Collection|Array.<ol.control.Control>|undefined), * @typedef {{controls: (ol.Collection|Array.<ol.control.Control>|undefined),
@@ -106,7 +114,7 @@ olx.GeolocationOptions.prototype.projection;
* interactions: (ol.Collection|Array.<ol.interaction.Interaction>|undefined), * interactions: (ol.Collection|Array.<ol.interaction.Interaction>|undefined),
* keyboardEventTarget: (Element|Document|string|undefined), * keyboardEventTarget: (Element|Document|string|undefined),
* layers: (Array.<ol.layer.Base>|ol.Collection|undefined), * layers: (Array.<ol.layer.Base>|ol.Collection|undefined),
* logo: (boolean|string|Object|undefined), * logo: (boolean|string|olx.LogoOptions|undefined),
* overlays: (ol.Collection|Array.<ol.Overlay>|undefined), * overlays: (ol.Collection|Array.<ol.Overlay>|undefined),
* renderer: (ol.RendererType|Array.<ol.RendererType|string>|string|undefined), * renderer: (ol.RendererType|Array.<ol.RendererType|string>|string|undefined),
* target: (Element|string|undefined), * target: (Element|string|undefined),
@@ -173,7 +181,7 @@ olx.MapOptions.prototype.layers;
* provided, the `src` property should be the URL for an image and the `href` * provided, the `src` property should be the URL for an image and the `href`
* property should be a URL for creating a link. To disable the map logo, set * property should be a URL for creating a link. To disable the map logo, set
* the option to `false`. By default, the OpenLayers 3 logo is shown. * the option to `false`. By default, the OpenLayers 3 logo is shown.
* @type {boolean|string|Object|undefined} * @type {boolean|string|olx.LogoOptions|undefined}
*/ */
olx.MapOptions.prototype.logo; olx.MapOptions.prototype.logo;
@@ -2563,7 +2571,7 @@ olx.source.BingMapsOptions.prototype.tileLoadFunction;
* @typedef {{attributions: (Array.<ol.Attribution>|undefined), * @typedef {{attributions: (Array.<ol.Attribution>|undefined),
* extent: (ol.Extent|undefined), * extent: (ol.Extent|undefined),
* format: ol.format.Feature, * format: ol.format.Feature,
* logo: (string|Object|undefined), * logo: (string|olx.LogoOptions|undefined),
* projection: ol.proj.ProjectionLike}} * projection: ol.proj.ProjectionLike}}
* @api * @api
*/ */
@@ -2593,7 +2601,7 @@ olx.source.FormatVectorOptions.prototype.format;
/** /**
* Logo. * Logo.
* @type{string|Object|undefined} * @type{string|olx.LogoOptions|undefined}
*/ */
olx.source.FormatVectorOptions.prototype.logo; olx.source.FormatVectorOptions.prototype.logo;
@@ -2609,7 +2617,7 @@ olx.source.FormatVectorOptions.prototype.projection;
* @typedef {{attributions: (Array.<ol.Attribution>|undefined), * @typedef {{attributions: (Array.<ol.Attribution>|undefined),
* defaultProjection: ol.proj.ProjectionLike, * defaultProjection: ol.proj.ProjectionLike,
* extent: (ol.Extent|undefined), * extent: (ol.Extent|undefined),
* logo: (string|Object|undefined), * logo: (string|olx.LogoOptions|undefined),
* object: (GeoJSONObject|undefined), * object: (GeoJSONObject|undefined),
* projection: ol.proj.ProjectionLike, * projection: ol.proj.ProjectionLike,
* text: (string|undefined), * text: (string|undefined),
@@ -2643,7 +2651,7 @@ olx.source.GeoJSONOptions.prototype.extent;
/** /**
* Logo. * Logo.
* @type{string|Object|undefined} * @type{string|olx.LogoOptions|undefined}
*/ */
olx.source.GeoJSONOptions.prototype.logo; olx.source.GeoJSONOptions.prototype.logo;
@@ -2688,7 +2696,7 @@ olx.source.GeoJSONOptions.prototype.urls;
* @typedef {{attributions: (Array.<ol.Attribution>|undefined), * @typedef {{attributions: (Array.<ol.Attribution>|undefined),
* doc: (Document|undefined), * doc: (Document|undefined),
* extent: (ol.Extent|undefined), * extent: (ol.Extent|undefined),
* logo: (string|Object|undefined), * logo: (string|olx.LogoOptions|undefined),
* node: (Node|undefined), * node: (Node|undefined),
* projection: ol.proj.ProjectionLike, * projection: ol.proj.ProjectionLike,
* text: (string|undefined), * text: (string|undefined),
@@ -2722,7 +2730,7 @@ olx.source.GPXOptions.prototype.extent;
/** /**
* Logo. * Logo.
* @type{string|Object|undefined} * @type{string|olx.LogoOptions|undefined}
*/ */
olx.source.GPXOptions.prototype.logo; olx.source.GPXOptions.prototype.logo;
@@ -2767,7 +2775,7 @@ olx.source.GPXOptions.prototype.urls;
* @typedef {{attributions: (Array.<ol.Attribution>|undefined), * @typedef {{attributions: (Array.<ol.Attribution>|undefined),
* crossOrigin: (null|string|undefined), * crossOrigin: (null|string|undefined),
* extent: (ol.Extent|undefined), * extent: (ol.Extent|undefined),
* logo: (string|Object|undefined), * logo: (string|olx.LogoOptions|undefined),
* opaque: (boolean|undefined), * opaque: (boolean|undefined),
* projection: ol.proj.ProjectionLike, * projection: ol.proj.ProjectionLike,
* tileClass: (function(new: ol.ImageTile, ol.TileCoord, * tileClass: (function(new: ol.ImageTile, ol.TileCoord,
@@ -2805,7 +2813,7 @@ olx.source.TileImageOptions.prototype.extent;
/** /**
* Logo. * Logo.
* @type{string|Object|undefined} * @type{string|olx.LogoOptions|undefined}
*/ */
olx.source.TileImageOptions.prototype.logo; olx.source.TileImageOptions.prototype.logo;
@@ -2869,7 +2877,7 @@ olx.source.TileImageOptions.prototype.tileUrlFunction;
* defaultProjection: ol.proj.ProjectionLike, * defaultProjection: ol.proj.ProjectionLike,
* extent: (ol.Extent|undefined), * extent: (ol.Extent|undefined),
* format: ol.format.Feature, * format: ol.format.Feature,
* logo: (string|Object|undefined), * logo: (string|olx.LogoOptions|undefined),
* object: (GeoJSONObject|undefined), * object: (GeoJSONObject|undefined),
* projection: ol.proj.ProjectionLike, * projection: ol.proj.ProjectionLike,
* tileGrid: ol.tilegrid.TileGrid, * tileGrid: ol.tilegrid.TileGrid,
@@ -2911,7 +2919,7 @@ olx.source.TileVectorOptions.prototype.format;
/** /**
* Logo. * Logo.
* @type{string|Object|undefined} * @type{string|olx.LogoOptions|undefined}
*/ */
olx.source.TileVectorOptions.prototype.logo; olx.source.TileVectorOptions.prototype.logo;
@@ -2964,7 +2972,7 @@ olx.source.TileVectorOptions.prototype.urls;
* @typedef {{attributions: (Array.<ol.Attribution>|undefined), * @typedef {{attributions: (Array.<ol.Attribution>|undefined),
* defaultProjection: ol.proj.ProjectionLike, * defaultProjection: ol.proj.ProjectionLike,
* extent: (ol.Extent|undefined), * extent: (ol.Extent|undefined),
* logo: (string|Object|undefined), * logo: (string|olx.LogoOptions|undefined),
* object: (GeoJSONObject|undefined), * object: (GeoJSONObject|undefined),
* projection: ol.proj.ProjectionLike, * projection: ol.proj.ProjectionLike,
* text: (string|undefined), * text: (string|undefined),
@@ -2997,7 +3005,7 @@ olx.source.TopoJSONOptions.prototype.extent;
/** /**
* Logo. * Logo.
* @type{string|Object|undefined} * @type{string|olx.LogoOptions|undefined}
*/ */
olx.source.TopoJSONOptions.prototype.logo; olx.source.TopoJSONOptions.prototype.logo;
@@ -3172,7 +3180,7 @@ olx.source.MapGuideOptions.prototype.params;
* defaultStyle: (Array.<ol.style.Style>|undefined), * defaultStyle: (Array.<ol.style.Style>|undefined),
* doc: (Document|undefined), * doc: (Document|undefined),
* extent: (ol.Extent|undefined), * extent: (ol.Extent|undefined),
* logo: (string|Object|undefined), * logo: (string|olx.LogoOptions|undefined),
* node: (Node|undefined), * node: (Node|undefined),
* projection: ol.proj.ProjectionLike, * projection: ol.proj.ProjectionLike,
* text: (string|undefined), * text: (string|undefined),
@@ -3213,7 +3221,7 @@ olx.source.KMLOptions.prototype.extent;
/** /**
* Logo. * Logo.
* @type{string|Object|undefined} * @type{string|olx.LogoOptions|undefined}
*/ */
olx.source.KMLOptions.prototype.logo; olx.source.KMLOptions.prototype.logo;
@@ -3358,7 +3366,7 @@ olx.source.OSMOptions.prototype.url;
* defaultStyle: (Array.<ol.style.Style>|undefined), * defaultStyle: (Array.<ol.style.Style>|undefined),
* doc: (Document|undefined), * doc: (Document|undefined),
* extent: (ol.Extent|undefined), * extent: (ol.Extent|undefined),
* logo: (string|Object|undefined), * logo: (string|olx.LogoOptions|undefined),
* node: (Node|undefined), * node: (Node|undefined),
* projection: ol.proj.ProjectionLike, * projection: ol.proj.ProjectionLike,
* reprojectTo: ol.proj.ProjectionLike, * reprojectTo: ol.proj.ProjectionLike,
@@ -3400,7 +3408,7 @@ olx.source.OSMXMLOptions.prototype.extent;
/** /**
* Logo. * Logo.
* @type{string|Object|undefined} * @type{string|olx.LogoOptions|undefined}
*/ */
olx.source.OSMXMLOptions.prototype.logo; olx.source.OSMXMLOptions.prototype.logo;
@@ -3451,7 +3459,7 @@ olx.source.OSMXMLOptions.prototype.urls;
* @typedef {{attributions: (Array.<ol.Attribution>|undefined), * @typedef {{attributions: (Array.<ol.Attribution>|undefined),
* canvasFunction: ol.CanvasFunctionType, * canvasFunction: ol.CanvasFunctionType,
* extent: (ol.Extent|undefined), * extent: (ol.Extent|undefined),
* logo: (string|Object|undefined), * logo: (string|olx.LogoOptions|undefined),
* projection: ol.proj.ProjectionLike, * projection: ol.proj.ProjectionLike,
* ratio: (number|undefined), * ratio: (number|undefined),
* resolutions: (Array.<number>|undefined), * resolutions: (Array.<number>|undefined),
@@ -3491,7 +3499,7 @@ olx.source.ImageCanvasOptions.prototype.extent;
/** /**
* Logo. * Logo.
* @type{string|Object|undefined} * @type{string|olx.LogoOptions|undefined}
*/ */
olx.source.ImageCanvasOptions.prototype.logo; olx.source.ImageCanvasOptions.prototype.logo;
@@ -3529,7 +3537,7 @@ olx.source.ImageCanvasOptions.prototype.state;
/** /**
* @typedef {{attributions: (Array.<ol.Attribution>|undefined), * @typedef {{attributions: (Array.<ol.Attribution>|undefined),
* extent: (ol.Extent|undefined), * extent: (ol.Extent|undefined),
* logo: (string|Object|undefined), * logo: (string|olx.LogoOptions|undefined),
* projection: ol.proj.ProjectionLike, * projection: ol.proj.ProjectionLike,
* ratio: (number|undefined), * ratio: (number|undefined),
* resolutions: (Array.<number>|undefined), * resolutions: (Array.<number>|undefined),
@@ -3556,7 +3564,7 @@ olx.source.ImageVectorOptions.prototype.extent;
/** /**
* Logo. * Logo.
* @type{string|Object|undefined} * @type{string|olx.LogoOptions|undefined}
*/ */
olx.source.ImageVectorOptions.prototype.logo; olx.source.ImageVectorOptions.prototype.logo;
@@ -3605,7 +3613,7 @@ olx.source.ImageVectorOptions.prototype.style;
* extent: (ol.Extent|undefined), * extent: (ol.Extent|undefined),
* hidpi: (boolean|undefined), * hidpi: (boolean|undefined),
* serverType: (ol.source.wms.ServerType|string|undefined), * serverType: (ol.source.wms.ServerType|string|undefined),
* logo: (string|Object|undefined), * logo: (string|olx.LogoOptions|undefined),
* params: Object.<string,*>, * params: Object.<string,*>,
* projection: ol.proj.ProjectionLike, * projection: ol.proj.ProjectionLike,
* ratio: (number|undefined), * ratio: (number|undefined),
@@ -3655,7 +3663,7 @@ olx.source.ImageWMSOptions.prototype.serverType;
/** /**
* Logo. * Logo.
* @type{string|Object|undefined} * @type{string|olx.LogoOptions|undefined}
*/ */
olx.source.ImageWMSOptions.prototype.logo; olx.source.ImageWMSOptions.prototype.logo;
@@ -3758,7 +3766,7 @@ olx.source.StamenOptions.prototype.url;
* extent: (ol.Extent|undefined), * extent: (ol.Extent|undefined),
* imageExtent: (ol.Extent|undefined), * imageExtent: (ol.Extent|undefined),
* imageSize: (ol.Size|undefined), * imageSize: (ol.Size|undefined),
* logo: (string|Object|undefined), * logo: (string|olx.LogoOptions|undefined),
* projection: ol.proj.ProjectionLike, * projection: ol.proj.ProjectionLike,
* url: string}} * url: string}}
* @api * @api
@@ -3803,7 +3811,7 @@ olx.source.ImageStaticOptions.prototype.imageSize;
/** /**
* Logo. * Logo.
* @type{string|Object|undefined} * @type{string|olx.LogoOptions|undefined}
*/ */
olx.source.ImageStaticOptions.prototype.logo; olx.source.ImageStaticOptions.prototype.logo;
@@ -3828,7 +3836,7 @@ olx.source.ImageStaticOptions.prototype.url;
* format: ol.format.Feature, * format: ol.format.Feature,
* loader: function(this: ol.source.ServerVector, ol.Extent, number, ol.proj.Projection), * loader: function(this: ol.source.ServerVector, ol.Extent, number, ol.proj.Projection),
* strategy: (function(ol.Extent, number): Array.<ol.Extent>|undefined), * strategy: (function(ol.Extent, number): Array.<ol.Extent>|undefined),
* logo: (string|Object|undefined), * logo: (string|olx.LogoOptions|undefined),
* projection: ol.proj.ProjectionLike}} * projection: ol.proj.ProjectionLike}}
* @api * @api
*/ */
@@ -3873,7 +3881,7 @@ olx.source.ServerVectorOptions.prototype.strategy;
/** /**
* Logo. * Logo.
* @type{string|Object|undefined} * @type{string|olx.LogoOptions|undefined}
*/ */
olx.source.ServerVectorOptions.prototype.logo; olx.source.ServerVectorOptions.prototype.logo;
@@ -3922,7 +3930,7 @@ olx.source.TileJSONOptions.prototype.url;
* extent: (ol.Extent|undefined), * extent: (ol.Extent|undefined),
* gutter: (number|undefined), * gutter: (number|undefined),
* hidpi: (boolean|undefined), * hidpi: (boolean|undefined),
* logo: (string|Object|undefined), * logo: (string|olx.LogoOptions|undefined),
* tileGrid: (ol.tilegrid.TileGrid|undefined), * tileGrid: (ol.tilegrid.TileGrid|undefined),
* maxZoom: (number|undefined), * maxZoom: (number|undefined),
* projection: ol.proj.ProjectionLike, * projection: ol.proj.ProjectionLike,
@@ -3989,7 +3997,7 @@ olx.source.TileWMSOptions.prototype.hidpi;
/** /**
* Logo. * Logo.
* @type{string|Object|undefined} * @type{string|olx.LogoOptions|undefined}
*/ */
olx.source.TileWMSOptions.prototype.logo; olx.source.TileWMSOptions.prototype.logo;
@@ -4053,7 +4061,7 @@ olx.source.TileWMSOptions.prototype.urls;
* @typedef {{attributions: (Array.<ol.Attribution>|undefined), * @typedef {{attributions: (Array.<ol.Attribution>|undefined),
* extent: (ol.Extent|undefined), * extent: (ol.Extent|undefined),
* features: (Array.<ol.Feature>|undefined), * features: (Array.<ol.Feature>|undefined),
* logo: (string|Object|undefined), * logo: (string|olx.LogoOptions|undefined),
* projection: ol.proj.ProjectionLike, * projection: ol.proj.ProjectionLike,
* state: (ol.source.State|string|undefined)}} * state: (ol.source.State|string|undefined)}}
* @api * @api
@@ -4084,7 +4092,7 @@ olx.source.VectorOptions.prototype.features;
/** /**
* Logo. * Logo.
* @type{string|Object|undefined} * @type{string|olx.LogoOptions|undefined}
*/ */
olx.source.VectorOptions.prototype.logo; olx.source.VectorOptions.prototype.logo;
@@ -4109,7 +4117,7 @@ olx.source.VectorOptions.prototype.state;
* doc: (Document|undefined), * doc: (Document|undefined),
* extent: (ol.Extent|undefined), * extent: (ol.Extent|undefined),
* format: ol.format.Feature, * format: ol.format.Feature,
* logo: (string|Object|undefined), * logo: (string|olx.LogoOptions|undefined),
* node: (Node|undefined), * node: (Node|undefined),
* object: (Object|undefined), * object: (Object|undefined),
* projection: ol.proj.ProjectionLike, * projection: ol.proj.ProjectionLike,
@@ -4158,7 +4166,7 @@ olx.source.StaticVectorOptions.prototype.format;
/** /**
* Logo. * Logo.
* @type{string|Object|undefined} * @type{string|olx.LogoOptions|undefined}
*/ */
olx.source.StaticVectorOptions.prototype.logo; olx.source.StaticVectorOptions.prototype.logo;
@@ -4209,7 +4217,7 @@ olx.source.StaticVectorOptions.prototype.urls;
* @typedef {{attributions: (Array.<ol.Attribution>|undefined), * @typedef {{attributions: (Array.<ol.Attribution>|undefined),
* crossOrigin: (string|null|undefined), * crossOrigin: (string|null|undefined),
* extent: (ol.Extent|undefined), * extent: (ol.Extent|undefined),
* logo: (string|Object|undefined), * logo: (string|olx.LogoOptions|undefined),
* tileGrid: ol.tilegrid.WMTS, * tileGrid: ol.tilegrid.WMTS,
* projection: ol.proj.ProjectionLike, * projection: ol.proj.ProjectionLike,
* requestEncoding: (ol.source.WMTSRequestEncoding|undefined), * requestEncoding: (ol.source.WMTSRequestEncoding|undefined),
@@ -4252,7 +4260,7 @@ olx.source.WMTSOptions.prototype.extent;
/** /**
* Logo. * Logo.
* @type{string|Object|undefined} * @type{string|olx.LogoOptions|undefined}
*/ */
olx.source.WMTSOptions.prototype.logo; olx.source.WMTSOptions.prototype.logo;
@@ -4362,7 +4370,7 @@ olx.source.WMTSOptions.prototype.urls;
* @typedef {{attributions: (Array.<ol.Attribution>|undefined), * @typedef {{attributions: (Array.<ol.Attribution>|undefined),
* crossOrigin: (null|string|undefined), * crossOrigin: (null|string|undefined),
* extent: (ol.Extent|undefined), * extent: (ol.Extent|undefined),
* logo: (string|Object|undefined), * logo: (string|olx.LogoOptions|undefined),
* projection: ol.proj.ProjectionLike, * projection: ol.proj.ProjectionLike,
* maxZoom: (number|undefined), * maxZoom: (number|undefined),
* minZoom: (number|undefined), * minZoom: (number|undefined),
@@ -4400,7 +4408,7 @@ olx.source.XYZOptions.prototype.extent;
/** /**
* Logo. * Logo.
* @type{string|Object|undefined} * @type{string|olx.LogoOptions|undefined}
*/ */
olx.source.XYZOptions.prototype.logo; olx.source.XYZOptions.prototype.logo;
@@ -4475,7 +4483,7 @@ olx.source.XYZOptions.prototype.wrapX;
/** /**
* @typedef {{attributions: (Array.<ol.Attribution>|undefined), * @typedef {{attributions: (Array.<ol.Attribution>|undefined),
* crossOrigin: (null|string|undefined), * crossOrigin: (null|string|undefined),
* logo: (string|Object|undefined), * logo: (string|olx.LogoOptions|undefined),
* url: !string, * url: !string,
* tierSizeCalculation: (string|undefined), * tierSizeCalculation: (string|undefined),
* size: ol.Size}} * size: ol.Size}}
@@ -4500,7 +4508,7 @@ olx.source.ZoomifyOptions.prototype.crossOrigin;
/** /**
* Logo. * Logo.
* @type{string|Object|undefined} * @type{string|olx.LogoOptions|undefined}
*/ */
olx.source.ZoomifyOptions.prototype.logo; olx.source.ZoomifyOptions.prototype.logo;

View File

@@ -11,7 +11,7 @@ goog.require('ol.source.Source');
/** /**
* @typedef {{attributions: (Array.<ol.Attribution>|undefined), * @typedef {{attributions: (Array.<ol.Attribution>|undefined),
* extent: (null|ol.Extent|undefined), * extent: (null|ol.Extent|undefined),
* logo: (string|Object|undefined), * logo: (string|olx.LogoOptions|undefined),
* projection: ol.proj.ProjectionLike, * projection: ol.proj.ProjectionLike,
* resolutions: (Array.<number>|undefined), * resolutions: (Array.<number>|undefined),
* state: (ol.source.State|string|undefined)}} * state: (ol.source.State|string|undefined)}}

View File

@@ -23,7 +23,7 @@ ol.source.State = {
/** /**
* @typedef {{attributions: (Array.<ol.Attribution>|undefined), * @typedef {{attributions: (Array.<ol.Attribution>|undefined),
* extent: (ol.Extent|undefined), * extent: (ol.Extent|undefined),
* logo: (string|Object|undefined), * logo: (string|olx.LogoOptions|undefined),
* projection: ol.proj.ProjectionLike, * projection: ol.proj.ProjectionLike,
* state: (ol.source.State|string|undefined)}} * state: (ol.source.State|string|undefined)}}
*/ */
@@ -69,7 +69,7 @@ ol.source.Source = function(options) {
/** /**
* @private * @private
* @type {string|Object|undefined} * @type {string|olx.LogoOptions|undefined}
*/ */
this.logo_ = options.logo; this.logo_ = options.logo;
@@ -115,7 +115,7 @@ ol.source.Source.prototype.getExtent = function() {
/** /**
* @return {string|Object|undefined} Logo. * @return {string|olx.LogoOptions|undefined} Logo.
*/ */
ol.source.Source.prototype.getLogo = function() { ol.source.Source.prototype.getLogo = function() {
return this.logo_; return this.logo_;
@@ -162,7 +162,7 @@ ol.source.Source.prototype.setExtent = function(extent) {
/** /**
* @param {string|Object|undefined} logo Logo. * @param {string|olx.LogoOptions|undefined} logo Logo.
*/ */
ol.source.Source.prototype.setLogo = function(logo) { ol.source.Source.prototype.setLogo = function(logo) {
this.logo_ = logo; this.logo_ = logo;

View File

@@ -13,7 +13,7 @@ goog.require('ol.tilegrid.TileGrid');
/** /**
* @typedef {{attributions: (Array.<ol.Attribution>|undefined), * @typedef {{attributions: (Array.<ol.Attribution>|undefined),
* extent: (ol.Extent|undefined), * extent: (ol.Extent|undefined),
* logo: (string|Object|undefined), * logo: (string|olx.LogoOptions|undefined),
* opaque: (boolean|undefined), * opaque: (boolean|undefined),
* tilePixelRatio: (number|undefined), * tilePixelRatio: (number|undefined),
* projection: ol.proj.ProjectionLike, * projection: ol.proj.ProjectionLike,