Files
openlayers/src/objectliterals.jsdoc
2013-10-27 05:53:46 -04:00

876 lines
38 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
/**
* @typedef {Object} ol.AttributionOptions
* @property {string} html HTML markup for this attribution.
* @property {Object.<string, Array.<ol.TileRange>>|undefined} tileRanges
* Tile ranges (FOR INTERNAL USE ONLY).
* @todo stability experimental
*/
/**
* @typedef {Object} ol.DeviceOrientationOptions
* @property {boolean|undefined} tracking Start tracking. Default is false.
* @todo stability experimental
*/
/**
* @typedef {Object} ol.GeolocationOptions
* @property {boolean|undefined} tracking Start Tracking. Default is false.
* @property {GeolocationPositionOptions|undefined} trackingOptions Tracking options.
* @property {ol.proj.ProjectionLike} projection Projection.
* @todo stability experimental
*/
/**
* @typedef {Object} ol.GetFeatureInfoOptions
* @property {ol.Pixel} pixel Pixel coordinate relative to the map viewport.
* @property {Array.<ol.layer.Layer>|undefined} layers Layers to restrict the
* query to. All map layers will be queried if not provided.
* @property {function(Array.<Array.<string|undefined>>)} success Callback for
* successful queries. The passed argument is the resulting feature
* information for each layer, with array indices being the same as in the
* passed `layers` array or in the layer collection as returned from
* `ol.Map#getLayers()` if no `layers` were provided.
* @property {function()|undefined} error Callback for unsuccessful queries.
* Note that queries with no matching features trigger the success callback,
* not the error callback.
* @todo stability experimental
*/
/**
* @typedef {Object} ol.GetFeaturesOptions
* @property {ol.Pixel} pixel Pixel coordinate relative to the map viewport.
* @property {Array.<ol.layer.Layer>|undefined} layers Layers to restrict the
* query to. All layers will be queried if not provided.
* @property {function(Array.<Array.<ol.Feature|undefined>>)} success Callback
* for successful queries. The passed argument is the resulting features for
* each layer, with array indices being the same as in the passed `layers`
* array or in the layer collection as returned from `ol.Map#getLayers()` if
* no layers were provided.
* @property {function()|undefined} error Callback for unsuccessful queries.
* Note that queries with no matching features trigger the success callback,
* not the error callback.
* @todo stability experimental
*/
/**
* Object literal with config options for the map.
* @typedef {Object} ol.MapOptions
* @property {ol.Collection|Array.<ol.control.Control>|undefined} controls
* Controls initially added to the map.
* @property {ol.Collection|undefined} interactions A collection of
* {@link ol.interaction|ol.interaction.Interaction} instances that allow the user to interact with
* the map.
* @property {Array.<ol.layer.Base>|ol.Collection|undefined} layers Layers.
* @property {ol.Collection|Array.<ol.Overlay>|undefined} overlays
* Overlays initially added to the map.
* @property {ol.RendererHint|undefined} renderer Renderer.
* @property {Array.<ol.RendererHint>|undefined} renderers Renderers.
* @property {Element|string|undefined} target The container for the map.
* @property {ol.IView|undefined} view The map's view. Currently
* {@link ol.View2D} is available as view.
* @todo stability experimental
*/
/**
* Object literal with config options for the overlay.
* @typedef {Object} ol.OverlayOptions
* @property {Element|undefined} element The overlay element.
* @property {ol.Coordinate|undefined} position The overlay position in map
* projection.
* @property {ol.OverlayPositioning|undefined} positioning Positioning.
* @property {boolean|undefined} stopEvent Whether event propagation to the map
* should be stopped. Default is `false`.
* @todo stability experimental
*/
/**
* 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|undefined} extent The validity extent for the SRS.
* @property {boolean|undefined} global Whether the projection is valid for the
* whole globe. Default is false.
* @todo stability experimental
*/
/**
* 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.proj.Units} units Units.
* @property {ol.Extent|undefined} 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.
* @todo stability experimental
*/
/**
* Object literal with config options for the view.
* @typedef {Object} ol.View2DOptions
* @property {ol.Coordinate|undefined} center The initial center for the view.
* The coordinate system for the center is specified with the `projection`
* option. Default is null, and layer sources will not be fetched if this
* is not set.
* @property {ol.Extent|undefined} extent The extent that constrains the center,
* in other words, center cannot be set outside this extent. Default is none
* @property {number|undefined} maxResolution The maximum resolution used to
* determine the resolution constraint. It is used together with `maxZoom`
* and `zoomFactor`. If unspecified it is calculated in such a way that the
* projection's validity extent fits in a 256x256 px tile. If the projection
* is Spherical Mercator (the default) then `maxResolution` defaults to
* 40075016.68557849 / 256 = 156543.03392804097.
* @property {number|undefined} maxZoom The maximum zoom level used to determine
* the resolution constraint. It is used together with `maxResolution` and
* `zoomFactor`. Default is 28.
* @property {ol.proj.ProjectionLike} projection The projection. Default is
* `EPSG:3857` (Spherical Mercator).
* @property {number|undefined} resolution The initial resolution for the view.
* The units are `projection` units per pixel (e.g. meters per pixel).
* An alternative to setting this is to set `zoom`. Default is undefined,
* and layer sources will not be fetched if neither this nor `zoom` are
* defined.
* @property {Array.<number>|undefined} resolutions Resolutions to determine the
* resolution constraint. If set the `maxResolution`, `maxZoom` and
* `zoomFactor` options are ignored.
* @property {number|undefined} rotation The initial rotation for the view
* in radians (positive rotation clockwise). Default is 0.
* @property {number|undefined} zoom Only used if `resolution` is not defined.
* Zoom level used to calculate the initial resolution for the view.
* The initial resolution is determined using the
* `ol.View2D#constrainResolution` method.
* @property {number|undefined} zoomFactor The zoom factor used to determine the
* resolution constraint. Used together with `maxResolution` and `maxZoom`.
* Default is 2.
* @todo stability experimental
*/
/**
* @typedef {Object} ol.animation.BounceOptions
* @property {number} resolution The resolution to start the bounce from, typically `map.getView().getResolution()`.
* @property {number|undefined} start The start time of the animation. Default is immediately.
* @property {number|undefined} duration The duration of the animation in milliseconds. Default is 1000.
* @property {function(number):number|undefined} easing The easing function to use. Default is `ol.easing.upAndDown`
* @todo stability experimental
*/
/**
* @typedef {Object} ol.animation.PanOptions
* @property {ol.Coordinate} source The location to start panning from, typically `map.getView().getCenter()`.
* @property {number|undefined} start The start time of the animation. Default is immediately.
* @property {number|undefined} duration The duration of the animation in milliseconds. Default is 1000.
* @property {function(number):number|undefined} easing The easing function to use. Default is `ol.easing.inAndOut`
* @todo stability experimental
*/
/**
* @typedef {Object} ol.animation.RotateOptions
* @property {number} rotation The rotation to apply, in radians.
* @property {number|undefined} start The start time of the animation. Default is immediately.
* @property {number|undefined} duration The duration of the animation in milliseconds. Default is 1000.
* @property {function(number):number|undefined} easing The easing function to use. Default is `ol.easing.inAndOut`
* @todo stability experimental
*/
/**
* @typedef {Object} ol.animation.ZoomOptions
* @property {number} resolution number The resolution to begin zooming from, typically `map.getView().getResolution()`.
* @property {number|undefined} start The start time of the animation. Default is immediately.
* @property {number|undefined} duration The duration of the animation in milliseconds.
* @property {function(number):number|undefined} easing Easing function.
* @todo stability experimental
*/
/**
* @typedef {Object} ol.control.AttributionOptions
* @property {string|undefined} className CSS class name. Default is `ol-attribution`.
* @property {Element|undefined} target Target.
* @todo stability experimental
*/
/**
* @typedef {Object} ol.control.ControlOptions
* @property {Element|undefined} element Element.
* @property {Element|undefined} target Target.
* @todo stability experimental
*/
/**
* @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.
* @todo stability experimental
*/
/**
* @typedef {Object} ol.control.FullScreenOptions
* @property {string|undefined} className CSS class name. Default is `ol-full-screen`.
* @property {boolean|undefined} keys Full keyboard access.
* @property {Element|undefined} target Target.
* @todo stability experimental
*/
/**
* @typedef {Object} ol.control.LogoOptions
* @property {string|undefined} className CSS class name. Default is `ol-logo`.
* @property {Element|undefined} target Target.
* @todo stability experimental
*/
/**
* @typedef {Object} ol.control.MousePositionOptions
* @property {string|undefined} className CSS class name. Default is `ol-mouse-position`.
* @property {ol.CoordinateFormatType|undefined} coordinateFormat Coordinate
* format.
* @property {ol.proj.ProjectionLike} projection Projection.
* @property {Element|undefined} target Target.
* @property {string|undefined} undefinedHTML Markup for undefined coordinates.
* Default is `` (empty string).
* @todo stability experimental
*/
/**
* @typedef {Object} ol.control.ScaleLineOptions
* @property {string|undefined} className CSS Class name. Default is `ol-scale-line`.
* @property {number|undefined} minWidth Minimum width in pixels.
* @property {Element|undefined} target Target.
* @property {ol.control.ScaleLineUnits|undefined} units Units.
* @todo stability experimental
*/
/**
* @typedef {Object} ol.control.ZoomOptions
* @property {number|undefined} duration Animation duration. Default is 250ms.
* @property {string|undefined} className CSS class name. Default is `ol-zoom`.
* @property {number|undefined} delta The zoom delta applied on each click.
* @property {Element|undefined} target Target.
* @todo stability experimental
*/
/**
* @typedef {Object} ol.control.ZoomSliderOptions
* @property {string|undefined} className CSS class name.
* @property {number|undefined} maxResolution Maximum resolution.
* @property {number|undefined} minResolution Minimum resolution.
* @todo stability experimental
*/
/**
* @typedef {Object} ol.control.ZoomToExtentOptions
* @property {string|undefined} className Class name. Default is `ol-zoom-extent`.
* @property {Element|undefined} target Target.
* @property {ol.Extent|undefined} extent The extent to zoom to. If
* undefined the validity extent of the view projection is used.
* @todo stability experimental
*/
/**
* @typedef {Object} ol.interaction.DoubleClickZoomOptions
* @property {number|undefined} duration Animation duration. Default is 250ms.
* @property {number|undefined} delta The zoom delta applied on each double
* click, default is 1.
* @todo stability experimental
*/
/**
* @typedef {Object} ol.interaction.DragPanOptions
* @property {ol.Kinetic|undefined} kinetic Kinetic inertia to apply to the pan.
* @property {ol.interaction.ConditionType|undefined} condition A conditional
* modifier (i.e. Shift key) that determines if the interaction is active
* or not, default is no modifiers.
* @todo stability experimental
*/
/**
* @typedef {Object} ol.interaction.DragRotateOptions
* @property {ol.interaction.ConditionType|undefined} condition A conditional
* modifier (i.e. Shift key) that determines if the interaction is active
* or not, default is both shift and alt keys.
* @todo stability experimental
*/
/**
* @typedef {Object} ol.interaction.DragRotateAndZoomOptions
* @property {ol.interaction.ConditionType|undefined} condition A conditional
* modifier (i.e. Shift key) that determines if the interaction is active
* or not, default is shify key.
* @todo stability experimental
*/
/**
* @typedef {Object} ol.interaction.DragZoomOptions
* @property {ol.interaction.ConditionType|undefined} condition A conditional
* modifier (i.e. Shift key) that determines if the interaction is active
* or not, default is shift key.
* @todo stability experimental
*/
/**
* Interactions for the map. Default is true for all options.
* @typedef {Object} ol.interaction.DefaultsOptions
* @property {boolean|undefined} altShiftDragRotate Whether Alt-Shift-drag
* rotate is desired.
* @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.
* @property {number|undefined} zoomDelta Zoom delta.
* @property {number|undefined} zoomDuration Zoom duration.
* @todo stability experimental
*/
/**
* @typedef {Object} ol.interaction.KeyboardPanOptions
* @property {ol.interaction.ConditionType|undefined} condition A conditional
* modifier (i.e. Shift key) that determines if the interaction is active
* or not, default is no modifiers.
* @property {number|undefined} pixelDelta Pixel The amount to pan on each key
* press
* @todo stability experimental
*/
/**
* @typedef {Object} ol.interaction.KeyboardZoomOptions
* @property {number|undefined} duration Animation duration. Default is 100ms.
* @property {ol.interaction.ConditionType|undefined} condition A conditional
* modifier (i.e. Shift key) that determines if the interaction is active
* or not, default is no modifiers.
* @property {number|undefined} delta The amount to zoom on each key press.
* @todo stability experimental
*/
/**
* @typedef {Object} ol.interaction.MouseWheelZoomOptions
* @property {number|undefined} duration Animation duration. Default is 250ms.
* @todo stability experimental
*/
/**
* @typedef {Object} ol.interaction.SelectOptions
* @property {ol.interaction.ConditionType|undefined} addCondition A conditional
* modifier (e.g. shift key) that determines if the selection is added to
* the current selection. By default, a shift-click adds to the current
* selection.
* @property {ol.interaction.ConditionType|undefined} condition A conditional
* modifier (e.g. shift key) that determines if the interaction is active
* (i.e. selection occurs) or not. By default, a click with no modifier keys
* toggles the selection.
* @property {undefined|function(ol.layer.Layer):boolean} layerFilter Filter
* function to restrict selection to a subset of layers.
* @todo stability experimental
*/
/**
* @typedef {Object} ol.interaction.TouchPanOptions
* @property {ol.Kinetic|undefined} kinetic Kinetic inertia to apply to the
* pan.
* @todo stability experimental
*/
/**
* @typedef {Object} ol.interaction.TouchRotateOptions
* @property {number|undefined} threshold Minimal angle to start a rotation.
* @todo stability experimental
*/
/**
* @typedef {Object} ol.interaction.TouchZoomOptions
* @property {number|undefined} duration Animation duration. Default is 400ms.
* @todo stability experimental
*/
/**
* @typedef {Object} ol.layer.BaseOptions
* @property {number|undefined} brightness Brightness.
* @property {number|undefined} contrast Contrast.
* @property {number|undefined} hue Hue.
* @property {number|undefined} opacity Opacity.
* @property {number|undefined} saturation Saturation.
* @property {boolean|undefined} visible Visibility.
* @property {number|undefined} minResolution The minimum resolution
* (inclusive) at which this layer will be visible.
* @property {number|undefined} maxResolution The maximum resolution
* (exclusive) below which this layer will be visible.
* @todo stability experimental
*/
/**
* @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).
* @property {number|undefined} minResolution The minimum resolution
* (inclusive) at which this layer will be visible.
* @property {number|undefined} maxResolution The maximum resolution
* (exclusive) below which this layer will be visible.
* @todo stability experimental
*/
/**
* @typedef {Object} ol.layer.GroupOptions
* @property {number|undefined} brightness Brightness.
* @property {number|undefined} contrast Contrast.
* @property {number|undefined} hue Hue.
* @property {number|undefined} opacity Opacity.
* @property {number|undefined} saturation Saturation.
* @property {boolean|undefined} visible Visibility.
* @property {number|undefined} minResolution The minimum resolution
* (inclusive) at which this layer will be visible.
* @property {number|undefined} maxResolution The maximum resolution
* (exclusive) below which this layer will be visible.
* @property {Array.<ol.layer.Base>|ol.Collection|undefined} layers Child layers.
* @todo stability experimental
*/
/**
* @typedef {Object} ol.layer.TileOptions
* @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).
* @property {number|undefined} minResolution The minimum resolution
* (inclusive) at which this layer will be visible.
* @property {number|undefined} maxResolution The maximum resolution
* (exclusive) below which this layer will be visible.
* @todo stability experimental
*/
/**
* @typedef {Object} ol.layer.VectorLayerOptions
* @property {function(Array.<ol.Feature>):string|undefined} transformFeatureInfo
* Function to render an array of
* features into feature info markup. If not provided, a comma separated
* list of the unique ids of the resulting features will be returned.
* @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).
* @property {number|undefined} minResolution The minimum resolution
* (inclusive) at which this layer will be visible.
* @property {number|undefined} maxResolution The maximum resolution
* (exclusive) below which this layer will be visible.
* @todo stability experimental
*/
/**
* @typedef {Object} ol.parser.KMLOptions
* @property {boolean|undefined} extractAttributes Should we extract attributes
* from the KML? Default is `true´.
* @property {boolean|undefined} extractStyles Should we extract styles from the
* KML? Default is `false`.
* @property {number|undefined} maxDepth Maximum depth to follow network links.
* Default is 0, which means we don't follow network links at all.
* @property {Array.<string>|undefined} trackAttributes Track attributes to
* parse.
* @todo stability experimental
*/
/**
* @typedef {Object} ol.parser.GMLReadOptions
* @property {string|undefined} axisOrientation The axis orientation.
* @todo stability experimental
*/
/**
* @typedef {Object} ol.parser.GMLWriteOptions
* @property {ol.proj.ProjectionLike} srsName The srsName to use when writing.
* @property {string|undefined} axisOrientation The axis orientation.
* @todo stability experimental
*/
/**
* @typedef {Object} ol.parser.GMLOptions
* @property {boolean|undefined} curve Write gml:Curve instead of
* gml:LineString elements. This also affects the elements in multi-part
* geometries. Default is `false´. This only applies to GML version 3.
* @property {boolean|undefined} extractAttributes Should we extract attributes
* from the GML? Default is `true´.
* @property {string|undefined} featureNS The feature namespace. If not set it
* will be automatically configured from the GML.
* @property {Array.<string>|string|undefined} featureType The local
* (without prefix) feature typeName(s).
* @property {string|undefined} geometryName Name of geometry element.
* Defaults to `geometry´. If null, it will be set on <read> when the
* first geometry is parsed.
* @property {boolean|undefined} multiCurve Write gml:MultiCurve instead of
* gml:MultiLineString. Since the latter is deprecated in GML 3, the
* default is `true´. This only applies to GML version 3.
* @property {boolean|undefined} multiSurface Write gml:multiSurface instead
* of gml:MultiPolygon. Since the latter is deprecated in GML 3, the
* default is `true´. This only applies to GML version 3.
* @property {string|undefined} schemaLocation Optional schemaLocation to use
* when writing out the GML, this will override the default provided.
* @property {boolean|undefined} surface Write gml:Surface instead of
* gml:Polygon elements. This also affects the elements in multi-part
* geometries. Default is `false´. This only applies to GML version 3.
* @property {ol.parser.GMLReadOptions|undefined} readOptions readOptions to
* use for this instance.
* @property {ol.parser.GMLWriteOptions|undefined} writeOptions writeOptions
* to use for this instance.
* @todo stability experimental
*/
/**
* @typedef {Object} ol.parser.GPXOptions
* @property {string|undefined} creator The creator attribute to be added to
* the written GPX files. Defaults to `OpenLayers´.
* @property {string|undefined} defaultDesc Default description for the
* waypoints/tracks in the case where the feature has no `description`
* attribute. Default is `No description available`.
* @property {boolean|undefined} extractAttributes Should we extract attributes
* from the GPX? Default is `true´.
* @property {boolean|undefined} extractWaypoints Extract waypoints from GPX.
* Default is `true´.
* @property {boolean|undefined} extractTracks Extract tracks from GPX.
* Default is `true´.
* @property {boolean|undefined} extractRoutes Extract routes from GPX.
* Default is `true´.
* @todo stability experimental
*/
/**
* @typedef {Object} ol.parser.GPXWriteOptions
* @property {Array.<ol.Feature>|ol.Feature} features The features to write
* out.
* @property {Object|undefined} metadata Metadata key/value pair with keys:
* name, desc and author.
* @todo stability experimental
*/
/**
* @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.
* @property {ol.TileLoadFunctionType|undefined} tileLoadFunction Optional
* function to load a tile given a URL.
* @todo stability experimental
*/
/**
* @typedef {Object} ol.source.MapQuestOptions
* @property {ol.TileLoadFunctionType|undefined} tileLoadFunction Optional
* function to load a tile given a URL.
* @todo stability experimental
*/
/**
* @typedef {Object} ol.source.TileDebugOptions
* @property {ol.Extent|undefined} extent Extent.
* @property {ol.proj.ProjectionLike} projection Projection.
* @property {ol.tilegrid.TileGrid|undefined} tileGrid Tile grid.
* @todo stability experimental
*/
/**
* @typedef {Object} ol.source.OSMOptions
* @property {Array.<ol.Attribution>|undefined} attributions Attributions.
* @property {number|undefined} maxZoom Max zoom.
* @property {ol.TileLoadFunctionType|undefined} tileLoadFunction Optional
* function to load a tile given a URL.
* @property {string|undefined} url URL.
* @todo stability experimental
*/
/**
* @typedef {Object} ol.source.ImageWMSOptions
* @property {Array.<ol.Attribution>|undefined} attributions Attributions.
* @property {null|string|undefined} crossOrigin crossOrigin setting for image
* requests.
* @property {ol.Extent|undefined} extent Extent.
* @property {ol.source.WMSGetFeatureInfoOptions|undefined}
* getFeatureInfoOptions Options for GetFeatureInfo.
* @property {Object.<string,*>} 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.proj.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.<number>|undefined} resolutions Resolutions. If specified,
* requests will be made for these resolutions only.
* @property {string|undefined} url WMS service URL.
* @todo stability experimental
*/
/**
* @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 {ol.TileLoadFunctionType|undefined} tileLoadFunction Optional
* function to load a tile given a URL.
* @property {string|undefined} url URL.
* @todo stability experimental
*/
/**
* @typedef {Object} ol.source.ImageStaticOptions
* @property {Array.<ol.Attribution>|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.proj.ProjectionLike} projection Projection.
* @property {string|undefined} url URL.
* @todo stability experimental
*/
/**
* @typedef {Object} ol.source.TileJSONOptions
* @property {null|string|undefined} crossOrigin crossOrigin setting for image
* requests.
* @property {ol.TileLoadFunctionType|undefined} tileLoadFunction Optional
* function to load a tile given a URL.
* @property {string} url URL.
* @todo stability experimental
*/
/**
* @typedef {Object} ol.source.TileWMSOptions
* @property {Array.<ol.Attribution>|undefined} attributions Attributions.
* @property {Object.<string,*>} 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.source.WMSGetFeatureInfoOptions|undefined}
* getFeatureInfoOptions Options for GetFeatureInfo.
* @property {string|undefined} logo Logo.
* @property {ol.tilegrid.TileGrid|undefined} tileGrid Tile grid.
* @property {number|undefined} maxZoom Maximum zoom.
* @property {ol.proj.ProjectionLike} projection Projection.
* @property {ol.TileLoadFunctionType|undefined} tileLoadFunction Optional
* function to load a tile given a URL.
* @property {string|undefined} url WMS service URL.
* @property {Array.<string>|undefined} urls WMS service urls. Use this instead
* of `url` when the WMS supports multiple urls for GetMap requests.
* @todo stability experimental
*/
/**
* @typedef {Object} ol.source.VectorOptions
* @property {Array.<ol.Attribution>|undefined} attributions Attributions.
* @property {Object|string|undefined} data Data to parse.
* @property {ol.Extent|undefined} extent Extent.
* @property {string|undefined} logo Logo.
* @property {ol.parser.Parser} parser Parser instance to parse data
* provided as `data` or fetched from `url`.
* @property {ol.proj.ProjectionLike|undefined} projection Projection. Usually the
* projection is provided by the parser, so this only needs to be set if
* the parser does not know the SRS (e.g. in some GML flavors), or if the
* projection determined by the parser needs to be overridden.
* @property {string|undefined} url Server url providing the vector data.
* @todo stability experimental
*/
/**
* @typedef {Object} ol.source.Vector2Options
* @property {Array.<ol.Attribution>|undefined} attributions Attributions.
* @property {ol.Extent|undefined} extent Extent.
* @property {Array.<ol.geom2.LineStringCollection>|undefined}
* lineStringCollections Line string collections.
* @property {Array.<ol.geom2.PointCollection>|undefined} pointCollections
* Point collections.
* @property {ol.proj.ProjectionLike} projection Projection.
* @todo stability experimental
*/
/**
* @typedef {Object} ol.source.WMSGetFeatureInfoOptions
* @property {ol.source.WMSGetFeatureInfoMethod} method Method for requesting
* GetFeatureInfo. Default is `ol.source.WMSGetFeatureInfoMethod.IFRAME`.
* @property {Object} params Params for the GetFeatureInfo request. Default is
* `{'INFO_FORMAT': 'text/html'}`.
* @todo stability experimental
*/
/**
* @typedef {Object} ol.source.WMTSOptions
* @property {Array.<ol.Attribution>|undefined} attributions Attributions.
* @property {string|null|undefined} crossOrigin crossOrigin setting for image
* requests.
* @property {ol.Extent|undefined} extent Extent.
* @property {string|undefined} logo Logo.
* @property {ol.tilegrid.WMTS} tileGrid Tile grid.
* @property {ol.proj.ProjectionLike} projection Projection.
* @property {ol.source.WMTSRequestEncoding|undefined} requestEncoding Request
* encoding.
* @property {string} layer Layer.
* @property {string} style Style.
* @property {string|undefined} version WMTS version. Default to `1.0.0`.
* @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 {ol.TileLoadFunctionType|undefined} tileLoadFunction Optional
* function to load a tile given a URL.
* @property {Array.<string>|undefined} urls Urls.
* @todo stability experimental
*/
/**
* @typedef {Object} ol.source.XYZOptions
* @property {Array.<ol.Attribution>|undefined} attributions Attributions.
* @property {null|string|undefined} crossOrigin Cross origin setting for image
* requests.
* @property {ol.Extent|undefined} extent Extent.
* @property {string|undefined} logo Logo.
* @property {ol.proj.ProjectionLike} projection Projection.
* @property {number|undefined} maxZoom Optional max zoom level. The default is
* 18.
* @property {number|undefined} minZoom Unsupported (TODO: remove this).
* @property {ol.TileLoadFunctionType|undefined} tileLoadFunction Optional
* function to load a tile given a URL.
* @property {ol.TileUrlFunctionType|undefined} tileUrlFunction Optional
* function to get tile URL given a tile coordinate and the projection.
* Required if url or urls are not provided.
* @property {string|undefined} url URL template. Must include `{x}`, `{y}`,
* and `{z}` placeholders.
* @property {Array.<string>|undefined} urls An array of URL templates.
* @todo stability experimental
*/
/**
* @typedef {Object} ol.style.IconOptions
* @property {string|ol.expr.Expression} url Icon image URL.
* @property {number|ol.expr.Expression|undefined} width Width of the icon
* in pixels. Default is the width of the icon image.
* @property {number|ol.expr.Expression|undefined} height Height of the
* icon in pixels. Default is the height of the icon image.
* @property {number|ol.expr.Expression|undefined} opacity Icon opacity
* (0-1).
* @property {number|ol.expr.Expression|undefined} rotation Rotation in
* radians (positive rotation clockwise).
* @property {number|ol.expr.Expression|undefined} xOffset Pixel offset from the
* point to the center of the icon (positive values shift image left).
* @property {number|ol.expr.Expression|undefined} yOffset Pixel offset from the
* point to the center of the icon (positive values shift image down).
* @property {number|ol.expr.Expression|undefined} zIndex Stack order.
* @todo stability experimental
*/
/**
* @typedef {Object} ol.style.FillOptions
* @property {string|ol.expr.Expression|undefined} color Fill color as hex color
* code.
* @property {number|ol.expr.Expression|undefined} opacity Opacity (0-1).
* @property {number|ol.expr.Expression|undefined} zIndex Stack order.
* @todo stability experimental
*/
/**
* @typedef {Object} ol.style.RuleOptions
* @property {ol.expr.Expression|string|undefined} filter Filter.
* @property {number|undefined} maxResolution Optional maximum resolution. If
* a value is provided, the rule will apply at resolutions less than
* this value.
* @property {number|undefined} minResolution Optional minimum resolution. If
* a value is provided, the rule will apply at resolutions greater than or
* equal to this value.
* @property {Array.<ol.style.Symbolizer>|undefined} symbolizers Symbolizers.
* @todo stability experimental
*/
/**
* @typedef {Object} ol.style.ShapeOptions
* @property {ol.style.ShapeType|undefined} type Type.
* @property {number|ol.expr.Expression|undefined} size Size in pixels.
* @property {ol.style.Fill|undefined} fill Fill symbolizer for shape.
* @property {ol.style.Stroke|undefined} stroke Stroke symbolizer for shape.
* @property {number|ol.expr.Expression|undefined} zIndex Stack order.
* @todo stability experimental
*/
/**
* @typedef {Object} ol.style.StrokeOptions
* @property {string|ol.expr.Expression|undefined} color Stroke color as hex
* color code.
* @property {number|ol.expr.Expression|undefined} opacity Stroke opacity (0-1).
* @property {number|ol.expr.Expression|undefined} width Stroke width in pixels.
* @property {number|ol.expr.Expression|undefined} zIndex Stack order.
* @todo stability experimental
*/
/**
* @typedef {Object} ol.style.StyleOptions
* @property {Array.<ol.style.Rule>|undefined} rules Rules.
* @property {Array.<ol.style.Symbolizer>|undefined} symbolizers Symbolizers
* (that apply if no rules are provided or where none of the provided rules
* apply).
* @todo stability experimental
*/
/**
* @typedef {Object} ol.style.TextOptions
* @property {string|ol.expr.Expression|undefined} color Color.
* @property {string|ol.expr.Expression|undefined} fontFamily Font family.
* @property {number|ol.expr.Expression|undefined} fontSize Font size in pixels.
* @property {string|ol.expr.Expression|undefined} fontWeight Font weight.
* @property {string|ol.expr.Expression} text Text for the label.
* @property {number|ol.expr.Expression|undefined} opacity Opacity (0-1).
* @property {ol.style.Stroke|undefined} stroke Stroke symbolizer for text.
* @property {number|ol.expr.Expression|undefined} zIndex Stack order.
* @todo stability experimental
*/
/**
* @typedef {Object} ol.tilegrid.TileGridOptions
* @property {number|undefined} minZoom Minimum zoom.
* @property {ol.Coordinate|undefined} origin Origin.
* @property {Array.<ol.Coordinate>|undefined} origins Origins.
* @property {!Array.<number>} resolutions Resolutions.
* @property {ol.Size|undefined} tileSize Tile size.
* @property {Array.<ol.Size>|undefined} tileSizes Tile sizes.
* @todo stability experimental
*/
/**
* @typedef {Object} ol.tilegrid.WMTSOptions
* @property {ol.Coordinate|undefined} origin Origin.
* @property {Array.<ol.Coordinate>|undefined} origins Origins.
* @property {!Array.<number>} resolutions Resolutions.
* @property {!Array.<string>} matrixIds matrix IDs.
* @property {ol.Size|undefined} tileSize Tile size.
* @property {Array.<ol.Size>|undefined} tileSizes Tile sizes.
* @todo stability experimental
*/
/**
* @typedef {Object} ol.tilegrid.XYZOptions
* @property {number} maxZoom Maximum zoom.
* @todo stability experimental
*/