diff --git a/src/objectliterals.exports b/src/objectliterals.exports index a642af2c39..496636f29a 100644 --- a/src/objectliterals.exports +++ b/src/objectliterals.exports @@ -194,7 +194,7 @@ @exportObjectLiteral ol.source.TiledWMSOptions @exportObjectLiteralProperty ol.source.TiledWMSOptions.attributions Array.|undefined -@exportObjectLiteralProperty ol.source.TiledWMSOptions.params Object +@exportObjectLiteralProperty ol.source.TiledWMSOptions.params Object. @exportObjectLiteralProperty ol.source.TiledWMSOptions.crossOrigin null|string|undefined @exportObjectLiteralProperty ol.source.TiledWMSOptions.extent ol.Extent|undefined @exportObjectLiteralProperty ol.source.TiledWMSOptions.tileGrid ol.tilegrid.TileGrid|undefined diff --git a/src/objectliterals.jsdoc b/src/objectliterals.jsdoc new file mode 100644 index 0000000000..bfc2cd28eb --- /dev/null +++ b/src/objectliterals.jsdoc @@ -0,0 +1,405 @@ +/** + * Object literal with config options for the map. + * @typedef {Object} ol.MapOptions + * @property {Array.|undefined} controls Controls initially + * added to the map. + * @property {ol.Collection|undefined} interactions Interactions. + * @property {Array.|ol.Collection|undefined} layers Layers. + * @property {ol.RendererHint|undefined} renderer Renderer. + * @property {Array.|undefined} renderers Renderers. + * @property {Element|string} target The container for the map. + * @property {ol.View2D|ol.View3D|undefined} view View. + */ + +/** + * Object literal with config options for the overlay. + * @typedef {Object} ol.OverlayOptions + * @property {Element|undefined} element The overlay element. + * @property {ol.Map|undefined} map The map to overlay onto. + * @property {ol.Coordinate|undefined} position The overlay position in map + * projection. + * @property {ol.OverlayPositioning|undefined} positioning Positioning. + */ + +/** + * Object literal with config options for the Proj4js projection. + * @typedef {Object} ol.Proj4jsProjectionOptions + * @property {string} code The SRS identifier code, e.g. 'EPSG:31256'. + * @property {ol.Extent} extent The validity extent for the SRS. + * @property {boolean|undefined} global Whether the projection is valid for the + * whole globe. Default is false. + */ + +/** + * Object literal with config options for the projection. + * @typedef {Object} ol.ProjectionOptions + * @property {string} code The SRS identifier code, e.g. 'EPSG:4326'. + * @property {ol.ProjectionUnits} units Units. + * @property {ol.Extent} extent The validity extent for the SRS. + * @property {string|undefined} axisOrientation The axis orientation as + * specified in Proj4. The default is 'enu'. + * @property {boolean|undefined} global Whether the projection is valid for the + * whole globe. Default is false. + */ + +/** + * Object literal with config options for the view. + * @typedef {Object} ol.View2DOptions + * @property {ol.Coordinate|undefined} center The view center in map projection. + * @property {number|undefined} maxResolution The maximum resolution in map + * units per pixel. + * @property {number|undefined} numZoomLevels The number of zoom levels for this + * view. Zoom level 0 uses the `maxResolution`; subsequent zoom levels are + * calculated by dividing the previous resolution by `zoomFactor`. + * @property {ol.ProjectionLike} projection The map projection. + * @property {number|undefined} resolution The initial resolution for the view. + * @property {Array.|undefined} resolutions The resolutions for this + * view. If configured, this is equivalent to specifying `maxResolution` and + * `numZoomLevels`. + * @property {number|undefined} rotation Initial rotation of the view. + * @property {number|undefined} zoom Initial zoom level of the view. + * @property {number|undefined} zoomFactor Factor to calculate resolutions for + * zoom levels. Default is 2. + */ + +/** + * @typedef {Object} ol.animation.BounceOptions + * @property {number} resolution Resolution. + * @property {number|undefined} start Start. + * @property {number|undefined} duration Duration. + * @property {function(number):number|undefined} easing Easing function. + */ + +/** + * @typedef {Object} ol.animation.PanOptions + * @property {ol.Coordinate} source Source. + * @property {number|undefined} start Start. + * @property {number|undefined} duration Duration. + * @property {function(number):number|undefined} easing Easing function. + */ + +/** + * @typedef {Object} ol.animation.RotateOptions + * @property {number} rotation Rotation. + * @property {number|undefined} start Start. + * @property {number|undefined} duration Duration. + * @property {function(number):number|undefined} easing Easing function. + */ + +/** + * @typedef {Object} ol.animation.ZoomOptions + * @property {number} resolution number Resolution. + * @property {number|undefined} start Start. + * @property {number|undefined} duration Duration. + * @property {function(number):number|undefined} easing Easing function. + */ + +/** + * @typedef {Object} ol.control.AttributionOptions + * @property {ol.Map|undefined} map Map. + * @property {Element|undefined} target Target. + */ + +/** + * @typedef {Object} ol.control.DefaultsOptions + * @property {boolean|undefined} attribution Attribution. + * @property {ol.control.AttributionOptions|undefined} attributionOptions + * Attribution options. + * @property {boolean|undefined} logo Logo. + * @property {ol.control.LogoOptions|undefined} logoOptions Logo options. + * @property {boolean|undefined} zoom Zoom. + * @property {ol.control.ZoomOptions|undefined} zoomOptions Zoom options. + */ + +/** + * @typedef {Object} ol.control.LogoOptions + * @property {ol.Map|undefined} map Map. + * @property {Element|undefined} LogoOptions.target Target. + */ + +/** + * @typedef {Object} ol.control.MousePositionOptions + * @property {ol.CoordinateFormatType|undefined} coordinateFormat Coordinate + * format. + * @property {ol.Map|undefined} map Map. + * @property {ol.ProjectionLike} projection Projection. + * @property {Element|undefined} target Target. + * @property {string|undefined} undefinedHTML Markup for undefined coordinates. + */ + +/** + * @typedef {Object} ol.control.ScaleLineOptions + * @property {ol.Map|undefined} map Map. + * @property {number|undefined} minWidth Minimum width in pixels. + * @property {Element|undefined} target Target. + * @property {ol.control.ScaleLineUnits|undefined} units Units. + */ + +/** + * @typedef {Object} ol.control.ZoomOptions + * @property {number|undefined} delta Delta. + * @property {ol.Map|undefined} map Map. + * @property {Element|undefined} target Target. + */ + +/** + * @typedef {Object} ol.control.ZoomSliderOptions + * @property {ol.Map|undefined} map Map. + * @property {number|undefined} maxResolution Maximum resolution. + * @property {number|undefined} minResolution Minimum resolution. + */ + +/** + * Interactions for the map. Default is true for all options. + * @typedef {Object} ol.interaction.DefaultsOptions + * @property {boolean|undefined} doubleClickZoom Whether double click zoom is + * desired. + * @property {boolean|undefined} dragPan Whether drag-pan is desired. + * @property {boolean|undefined} keyboard Whether keyboard interaction is + * desired. + * @property {boolean|undefined} mouseWheelZoom Whether mousewheel zoom is + * desired. + * @property {boolean|undefined} shiftDragZoom Whether Shift-drag zoom is + * desired. + * @property {boolean|undefined} touchPan Whether touch pan is + * desired. + * @property {boolean|undefined} touchRotate Whether touch rotate is desired. + * @property {boolean|undefined} touchZoom Whether touch zoom is desired. + */ + +/** + * @typedef {Object} ol.interaction.KeyboardPanOptions + * @property {number|undefined} pixelDelta Pixel delta + */ + +/** + * @typedef {Object} ol.interaction.KeyboardZoomOptions + * @property {number|undefined} delta Delta. + */ + +/** + * @typedef {Object} ol.layer.LayerOptions + * @property {number|undefined} brightness Brightness. + * @property {number|undefined} contrast Contrast. + * @property {number|undefined} hue Hue. + * @property {number|undefined} opacity Opacity. 0-1. Default is 1. + * @property {number|undefined} saturation Saturation. + * @property {ol.source.Source} source Source for this layer. + * @property {boolean|undefined} visible Visibility. Default is true (visible). + */ + +/** + * @typedef {Object} ol.layer.TileLayerOptions + * @property {number|undefined} brightness Brightness. + * @property {number|undefined} contrast Contrast. + * @property {number|undefined} hue Hue. + * @property {number|undefined} opacity Opacity. 0-1. Default is 1. + * @property {number|undefined} preload Preload. + * @property {number|undefined} saturation Saturation. + * @property {ol.source.Source} source Source for this layer. + * @property {boolean|undefined} visible Visibility. Default is true (visible). + */ + +/** + * @typedef {Object} ol.layer.VectorLayerOptions + * @property {number|undefined} opacity Opacity. 0-1. Default is 1. + * @property {ol.source.Source} source Source for this layer. + * @property {ol.style.Style|undefined} style Style. + * @property {boolean|undefined} visible Visibility. Default is true (visible). + */ + +/** + * @typedef {Object} ol.source.BingMapsOptions + * @property {string|undefined} culture Culture. + * @property {string} key Bing Maps API key. Get yours at + * http://bingmapsportal.com/. + * @property {string} style Style. + */ + +/** + * @typedef {Object} ol.source.DebugTileSourceOptions + * @property {ol.Extent|undefined} extent Extent. + * @property {ol.ProjectionLike} projection Projection. + * @property {ol.tilegrid.TileGrid|undefined} tileGrid Tile grid. + */ + +/** + * @typedef {Object} ol.source.OpenStreetMapOptions + * @property {ol.Attribution|undefined} attribution Attribution. + * @property {Array.|undefined} attributions Attributions. + * @property {number|undefined} maxZoom Max zoom. + * @property {string|undefined} url URL. + */ + +/** + * @typedef {Object} ol.source.SingleImageWMSOptions + * @property {Array.|undefined} attributions Attributions. + * @property {null|string|undefined} crossOrigin crossOrigin setting for image + * requests. + * @property {ol.Extent|undefined} extent Extent. + * @property {Object.} params WMS request parameters. At least a + * `LAYERS` param is required. `STYLES` is '' by default. `VERSION` is + * '1.3.0' by default. `WIDTH`, `HEIGHT`, `BBOX` and `CRS` (`SRS` for WMS + * version < 1.3.0) will be set dynamically. + * @property {ol.ProjectionLike} projection Projection. + * @property {number|undefined} ratio Ratio. 1 means image requests are the size + * of the map viewport, 2 means twice the size of the map viewport, and so + * on. + * @property {Array.|undefined} resolutions Resolutions. If specified, + * requests will be made for these resolutions only. + * @property {string|undefined} url WMS service url. + */ + +/** + * @typedef {Object} ol.source.SourceOptions + * @property {Array.|undefined} attributions Attributions. + * @property {ol.Extent|undefined} extent Extent. + * @property {string|undefined} logo Logo. + * @property {ol.ProjectionLike} projection Projection. + */ + +/** + * @typedef {Object} ol.source.StamenOptions + * @property {string} layer Layer. + * @property {number|undefined} minZoom Minimum zoom. + * @property {number|undefined} maxZoom Maximum zoom. + * @property {boolean|undefined} opaque Whether the layer is opaque. + * @property {string|undefined} url Url. + */ + +/** + * @typedef {Object} ol.source.StaticImageOptions + * @property {Array.|undefined} attributions Attributions. + * @property {null|string|undefined} crossOrigin crossOrigin setting for image + * requests. + * @property {ol.Extent|undefined} extent Extent. + * @property {ol.Extent|undefined} imageExtent Extent of the image. + * @property {ol.Size|undefined} imageSize Size of the image. + * @property {ol.ProjectionLike} projection Projection. + * @property {string|undefined} url Url. + */ + +/** + * @typedef {Object} ol.source.TileJSONOptions + * @property {null|string|undefined} crossOrigin crossOriin setting for image + * requests. + * @property {string} url Url. + */ + +/** + * @typedef {Object} ol.source.TiledWMSOptions + * @property {Array.|undefined} attributions Attributions. + * @property {Object.} params WMS request parameters. At least a + * `LAYERS` param is required. `STYLES` is '' by default. `VERSION` is + * '1.3.0' by default. `WIDTH`, `HEIGHT`, `BBOX` and `CRS` (`SRS` for WMS + * version < 1.3.0) will be set dynamically. + * @property {null|string|undefined} crossOrigin crossOrigin setting for image + * requests. + * @property {ol.Extent|undefined} extent Extent. + * @property {ol.tilegrid.TileGrid|undefined} tileGrid Tile grid. + * @property {number|undefined} maxZoom Maximum zoom. + * @property {ol.ProjectionLike} projection Projection. + * @property {string|undefined} url WMS service url. + * @property {Array.|undefined} urls WMS service urls. Use this instead + * of `url` when the WMS supports multiple urls for GetMap requests. + */ + +/** + * @typedef {Object} ol.source.WMTSOptions + * @property {Array.|undefined} attributions Attributions. + * @property {string|null|undefined} crossOrigin crossOrigin setting for image + * requeests. + * @property {ol.Extent|undefined} extent Extent. + * @property {ol.tilegrid.WMTS} tileGrid Tile grid. + * @property {ol.Projection|undefined} projection Projection. + * @property {ol.source.WMTSRequestEncoding|undefined} requestEncoding Request + * encoding. + * @property {string} layer Layer. + * @property {string} style Style. + * @property {string|undefined} format Format. + * @property {string} matrixSet Matrix set. + * @property {Object|undefined} dimensions Dimensions. + * @property {string|undefined} url Url. + * @property {number|undefined} maxZoom Maximum zoom. + * @property {Array.|undefined} urls Urls. + */ + +/** + * @typedef {Object} ol.style.IconOptions + * @property {string|ol.Expression} url Icon image url. + * @property {number|ol.Expression|undefined} width Width of the icon in pixels. + * Default is the width of the icon image. + * @property {number|ol.Expression|undefined} height Height of the icon in + * pixels. Default is the height of the icon image. + * @property {number|ol.Expression|undefined} opacity Icon opacity (0-1). + * @property {number|ol.Expression|undefined} rotation Rotation in degrees + * (0-360). + */ + +/** + * @typedef {Object} ol.style.LineOptions + * @property {string|ol.Expression|undefined} strokeColor Stroke color as hex + * color code. + * @property {number|ol.Expression|undefined} strokeWidth Stroke width in + * pixels. + * @property {number|ol.Expression|undefined} opacity Opacity (0-1). + */ + +/** + * @typedef {Object} ol.style.PolygonOptions + * @property {string|ol.Expression|undefined} fillColor Fill color as hex color + * code. + * @property {string|ol.Expression|undefined} strokeColor Stroke color as hex + * color code. + * @property {number|ol.Expression|undefined} strokeWidth Stroke width in + * pixels. + * @property {number|ol.Expression|undefined} opacity Opacity (0-1). + */ + +/** + * @typedef {Object} ol.style.RuleOptions + * @property {ol.filter.Filter|undefined} filter Filter. + * @property {Array.|undefined} symbolizers Symbolizers. + */ + +/** + * @typedef {Object} ol.style.ShapeOptions + * @property {ol.style.ShapeType|undefined} type Type. + * @property {number|ol.Expression|undefined} size Size in pixels. + * @property {string|ol.Expression|undefined} fillColor Fill color as hex color + * code. + * @property {string|ol.Expression|undefined} strokeColor Stroke color as hex + * color code. + * @property {number|ol.Expression|undefined} strokeWidth Stroke width in + * pixels. + * @property {number|ol.Expression|undefined} opacity Opacity (0-1). + */ + +/** + * @typedef {Object} ol.style.StyleOptions + * @property {Array.} rules Rules. + */ + +/** + * @typedef {Object} ol.tilegrid.TileGridOptions + * @property {ol.Coordinate|undefined} origin Origin. + * @property {Array.|undefined} origins Origins. + * @property {!Array.} resolutions Resolutions. + * @property {ol.Size|undefined} tileSize Tile size. + * @property {Array.|undefined} tileSizes Tile sizes. + */ + +/** + * @typedef {Object} ol.tilegrid.WMTSOptions + * @property {ol.Coordinate|undefined} origin Origin. + * @property {Array.|undefined} origins Origins. + * @property {!Array.} resolutions Resolutions. + * @property {!Array.} matrixIds matrix IDs. + * @property {ol.Size|undefined} tileSize Tile size. + * @property {Array.|undefined} tileSizes Tile sizes. + */ + +/** + * @typedef {Object} ol.tilegrid.XYZOptions + * @property {number} maxZoom Maximum zoom. + */ \ No newline at end of file diff --git a/src/ol/animation.jsdoc b/src/ol/animation.jsdoc new file mode 100644 index 0000000000..1e659969cf --- /dev/null +++ b/src/ol/animation.jsdoc @@ -0,0 +1,3 @@ +/** + * @namespace ol.animation + */ \ No newline at end of file diff --git a/src/ol/control/control.jsdoc b/src/ol/control/control.jsdoc new file mode 100644 index 0000000000..6c5dd9f581 --- /dev/null +++ b/src/ol/control/control.jsdoc @@ -0,0 +1,3 @@ +/** + * @namespace ol.control + */ \ No newline at end of file diff --git a/src/ol/layer/layer.jsdoc b/src/ol/layer/layer.jsdoc new file mode 100644 index 0000000000..a8bc4e6add --- /dev/null +++ b/src/ol/layer/layer.jsdoc @@ -0,0 +1,3 @@ +/** + * @namespace ol.layer + */ \ No newline at end of file diff --git a/src/ol/ol.jsdoc b/src/ol/ol.jsdoc new file mode 100644 index 0000000000..2f2adb8a64 --- /dev/null +++ b/src/ol/ol.jsdoc @@ -0,0 +1,3 @@ +/** + * @namespace ol + */ \ No newline at end of file diff --git a/src/ol/projection/projection.js b/src/ol/projection/projection.js index 830aaeb554..ede75e0442 100644 --- a/src/ol/projection/projection.js +++ b/src/ol/projection/projection.js @@ -25,7 +25,8 @@ ol.HAVE_PROJ4JS = ol.ENABLE_PROJ4JS && typeof Proj4js == 'object'; /** - * @typedef {ol.Projection|string|undefined} + * A projection as {@link ol.Projection}, SRS identifier string or undefined. + * @typedef {ol.Projection|string|undefined} ol.ProjectionLike */ ol.ProjectionLike; diff --git a/src/ol/source/source.jsdoc b/src/ol/source/source.jsdoc new file mode 100644 index 0000000000..637fb44216 --- /dev/null +++ b/src/ol/source/source.jsdoc @@ -0,0 +1,3 @@ +/** + * @namespace ol.source + */ \ No newline at end of file diff --git a/src/ol/style/style.jsdoc b/src/ol/style/style.jsdoc new file mode 100644 index 0000000000..d95f551e7f --- /dev/null +++ b/src/ol/style/style.jsdoc @@ -0,0 +1,3 @@ +/** + * @namespace ol.style + */ \ No newline at end of file diff --git a/src/ol/tilegrid/tilegrid.jsdoc b/src/ol/tilegrid/tilegrid.jsdoc new file mode 100644 index 0000000000..55f249fbbd --- /dev/null +++ b/src/ol/tilegrid/tilegrid.jsdoc @@ -0,0 +1,3 @@ +/** + * @namespace ol.tilegrid + */ \ No newline at end of file