Compare commits

...

9 Commits

Author SHA1 Message Date
Tim Schaub
9ec623380a Merge pull request #8419 from tschaub/release-v5.1.3
Release v5.1.3
2018-07-21 08:45:16 -07:00
Tim Schaub
28104527b0 Updates for v5.1.3 2018-07-21 09:44:10 -06:00
Tim Schaub
b50bc1febf Merge pull request #8417 from tschaub/bad-info
Minor doc updates
2018-07-21 08:34:01 -07:00
Andreas Hocevar
c046c2a1ba Merge pull request #8418 from ahocevar/classdesc-constructor-api
Set api annotation on classdesc, not constructor
2018-07-21 17:33:30 +02:00
ahocevar
bbe0a66d07 Set api annotation on classdesc, not constructor 2018-07-21 17:25:22 +02:00
Tim Schaub
d8b290966b Tracking 2018-07-21 09:11:30 -06:00
Tim Schaub
0edb39c8ab Single quote instead of backtick 2018-07-21 08:40:03 -06:00
Tim Schaub
f0ffb48633 Update concepts 2018-07-21 08:37:38 -06:00
Tim Schaub
171195a836 Remove broken link to sources 2018-07-21 08:24:44 -06:00
108 changed files with 555 additions and 431 deletions

6
changelog/v5.1.3.md Normal file
View File

@@ -0,0 +1,6 @@
# 5.1.3
The 5.1.3 release is a patch to fix the API docs and the legacy full build. See the [5.1.0 notes](https://github.com/openlayers/openlayers/releases/tag/v5.1.0) for detail on the 5.1 release.
* [#8417](https://github.com/openlayers/openlayers/pull/8417) - Minor doc updates ([@tschaub](https://github.com/tschaub))
* [#8418](https://github.com/openlayers/openlayers/pull/8418) - Set api annotation on classdesc, not constructor ([@ahocevar](https://github.com/ahocevar))

View File

@@ -4,6 +4,13 @@ var version = obj.packageInfo.version;
<!DOCTYPE html>
<html lang="en">
<head>
<script async src="https://www.googletagmanager.com/gtag/js?id=UA-2577926-1"></script>
<script>
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('js', new Date());
gtag('config', 'UA-2577926-1');
</script>
<meta charset="utf-8">
<title>OpenLayers v<?js= version ?> API - <?js= title ?></title>
<script src="https://cdn.polyfill.io/v2/polyfill.min.js?features=fetch"></script>

View File

@@ -130,7 +130,7 @@ The `layers: [ ... ]` array is used to define the list of layers available in th
]
```
Layers in OpenLayers are defined with a type (Image, Tile or Vector) which contains a source. The source is the protocol used to get the map tiles. You can consult the list of [available layer sources here](/en/{{ latest }}/apidoc/ol.source.html)
Layers in OpenLayers are defined with a type (Image, Tile or Vector) which contains a source. The source is the protocol used to get the map tiles.
The next part of the `Map` object is the `View`. The view allows to specify the center, resolution, and rotation of the map. The simplest way to define a view is to define a center point and a zoom level. Note that zoom level 0 is zoomed out.

View File

@@ -6,27 +6,34 @@ layout: doc.hbs
# Basic Concepts
## Map
The core component of OpenLayers is the map (`Map`). It is rendered to a `target` container (e.g. a `div` element on the web page that contains the map). All map properties can either be configured at construction time, or by using setter methods, e.g. `setTarget()`.
The core component of OpenLayers is the map (`ol/Map`). It is rendered to a `target` container (e.g. a `div` element on the web page that contains the map). All map properties can either be configured at construction time, or by using setter methods, e.g. `setTarget()`.
The markup below could be used to create a `<div>` that contains your map.
```xml
<div id="map" style="width: 100%, height: 400px"></div>
<script>
import Map from 'ol/Map';
```
var map = new Map({target: 'map'});
</script>
The script below constructs a map that is rendered in the `<div>` above, using the `map` id of the element as a selector.
```js
import Map from 'ol/Map';
var map = new Map({target: 'map'});
```
## View
`Map` is not responsible for things like center, zoom level and projection of the map. Instead, these are properties of a `View` instance.
The map is not responsible for things like center, zoom level and projection of the map. Instead, these are properties of a `ol/View` instance.
```js
import View from 'ol/View';
import View from 'ol/View';
map.setView(new View({
center: [0, 0],
zoom: 2
}));
map.setView(new View({
center: [0, 0],
zoom: 2
}));
```
A `View` also has a `projection`. The projection determines the coordinate system of the `center` and the units for map resolution calculations. If not specified (like in the above snippet), the default projection is Spherical Mercator (EPSG:3857), with meters as map units.
@@ -35,54 +42,49 @@ The `zoom` option is a convenient way to specify the map resolution. The availab
## Source
To get remote data for a layer, OpenLayers uses `source/Source` subclasses. These are available for free and commercial map tile services like OpenStreetMap or Bing, for OGC sources like WMS or WMTS, and for vector data in formats like GeoJSON or KML.
To get remote data for a layer, OpenLayers uses `ol/source/Source` subclasses. These are available for free and commercial map tile services like OpenStreetMap or Bing, for OGC sources like WMS or WMTS, and for vector data in formats like GeoJSON or KML.
```js
import OSM from 'ol/source/OSM';
import OSM from 'ol/source/OSM';
var osmSource = OSM();
var osmSource = OSM();
```
## Layer
A layer is a visual representation of data from a `source`. OpenLayers has four basic types of layers: `layer/Tile`, `layer/Image`, `layer/Vector` and `layer/VectorTile`.
`layer/Tile` is for layer sources that provide pre-rendered, tiled images in grids that are organized by zoom levels for specific resolutions.
A layer is a visual representation of data from a `source`. OpenLayers has four basic types of layers:
`layer/Image` is for server rendered images that are available for arbitrary extents and resolutions.
`layer/Vector` is for vector data that is rendered client-side.
`layer/VectorTile` is for tiled vector data that is rendered client-side.
* `ol/layer/Tile` - Renders sources that provide tiled images in grids that are organized by zoom levels for specific resolutions.
* `ol/layer/Image` - Renders sources that provide map images at arbitrary extents and resolutions.
* `ol/layer/Vector` - Renders vector data client-side.
* `ol/layer/VectorTile` - Renders data that is provided as vector tiles.
```js
import TileLayer from 'ol/layer/Tile';
import TileLayer from 'ol/layer/Tile';
var osmLayer = new TileLayer({source: osmSource});
map.addLayer(osmLayer);
var osmLayer = new TileLayer({source: osmSource});
map.addLayer(osmLayer);
```
## Putting it all together
The above snippets can be combined into a single script that renders a map with a single tile layer:
The above snippets can be conflated to a self contained map configuration with view and layers:
```js
import Map from 'ol/Map';
import View from 'ol/View';
import OSM from 'ol/source/OSM';
import TileLayer from 'ol/source/Tile';
```xml
<div id="map" style="width: 100%, height: 400px"></div>
<script>
import Map from 'ol/Map';
import View from 'ol/View';
import OSM from 'ol/source/OSM';
import TileLayer from 'ol/source/Tile';
new Map({
layers: [
new TileLayer({source: new ol.source.OSM()})
],
view: new View({
center: [0, 0],
zoom: 2
}),
target: 'map'
});
</script>
new Map({
layers: [
new TileLayer({source: new OSM()})
],
view: new View({
center: [0, 0],
zoom: 2
}),
target: 'map'
});
```

View File

@@ -12,9 +12,9 @@ The view in any Proj4js supported coordinate reference system is possible and pr
# Usage
The API usage is very simple. Just specify proper projection (e.g. using [EPSG](https://epsg.io) code) on `ol/View`:
```js
import {Map, View} from `ol`;
import TileLayer from `ol/layer/Tile`;
import TileWMS from `ol/source/TileWMS`;
import {Map, View} from 'ol';
import TileLayer from 'ol/layer/Tile';
import TileWMS from 'ol/source/TileWMS';
var map = new Map({
target: 'map',

View File

@@ -1,6 +1,13 @@
<!DOCTYPE html>
<html lang="en-US">
<head>
<script async src="https://www.googletagmanager.com/gtag/js?id=UA-2577926-1"></script>
<script>
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('js', new Date());
gtag('config', 'UA-2577926-1');
</script>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=Edge">
<meta name="viewport" content="initial-scale=1.0, user-scalable=no, width=device-width">

View File

@@ -1,6 +1,6 @@
{
"name": "ol",
"version": "5.1.2",
"version": "5.1.3",
"description": "OpenLayers mapping library",
"keywords": [
"map",

View File

@@ -4,6 +4,7 @@
import {UNDEFINED} from './functions.js';
/**
* @classdesc
* Objects that need to clean up after themselves.
*/
class Disposable {

View File

@@ -53,7 +53,6 @@ import Style from './style/Style.js';
* @api
*/
class Feature extends BaseObject {
/**
* @param {module:ol/geom/Geometry|Object.<string, *>=} opt_geometryOrProperties
* You may pass a Geometry object directly, or an object literal containing

View File

@@ -7,6 +7,7 @@ import Spatial from '../filter/Spatial.js';
* @classdesc
* Represents a `<Contains>` operator to test whether a geometry-valued property
* contains a given geometry.
* @api
*/
class Contains extends Spatial {
@@ -15,7 +16,6 @@ class Contains extends Spatial {
* @param {!module:ol/geom/Geometry} geometry Geometry.
* @param {string=} opt_srsName SRS name. No srsName attribute will be
* set on geometries when this is not provided.
* @api
*/
constructor(geometryName, geometry, opt_srsName) {

View File

@@ -6,6 +6,7 @@ import Comparison from '../filter/Comparison.js';
/**
* @classdesc
* Represents a `<During>` comparison operator.
* @api
*/
class During extends Comparison {
@@ -13,7 +14,6 @@ class During extends Comparison {
* @param {!string} propertyName Name of the context property to compare.
* @param {!string} begin The begin date in ISO-8601 format.
* @param {!string} end The end date in ISO-8601 format.
* @api
*/
constructor(propertyName, begin, end) {
super('During', propertyName);

View File

@@ -6,6 +6,7 @@ import ComparisonBinary from '../filter/ComparisonBinary.js';
/**
* @classdesc
* Represents a `<PropertyIsEqualTo>` comparison operator.
* @api
*/
class EqualTo extends ComparisonBinary {
@@ -13,7 +14,6 @@ class EqualTo extends ComparisonBinary {
* @param {!string} propertyName Name of the context property to compare.
* @param {!(string|number)} expression The value to compare.
* @param {boolean=} opt_matchCase Case-sensitive?
* @api
*/
constructor(propertyName, expression, opt_matchCase) {
super('PropertyIsEqualTo', propertyName, expression, opt_matchCase);

View File

@@ -6,13 +6,13 @@ import ComparisonBinary from '../filter/ComparisonBinary.js';
/**
* @classdesc
* Represents a `<PropertyIsGreaterThan>` comparison operator.
* @api
*/
class GreaterThan extends ComparisonBinary {
/**
* @param {!string} propertyName Name of the context property to compare.
* @param {!number} expression The value to compare.
* @api
*/
constructor(propertyName, expression) {
super('PropertyIsGreaterThan', propertyName, expression);

View File

@@ -6,13 +6,13 @@ import ComparisonBinary from '../filter/ComparisonBinary.js';
/**
* @classdesc
* Represents a `<PropertyIsGreaterThanOrEqualTo>` comparison operator.
* @api
*/
class GreaterThanOrEqualTo extends ComparisonBinary {
/**
* @param {!string} propertyName Name of the context property to compare.
* @param {!number} expression The value to compare.
* @api
*/
constructor(propertyName, expression) {
super('PropertyIsGreaterThanOrEqualTo', propertyName, expression);

View File

@@ -7,6 +7,7 @@ import Spatial from '../filter/Spatial.js';
* @classdesc
* Represents a `<Intersects>` operator to test whether a geometry-valued property
* intersects a given geometry.
* @api
*/
class Intersects extends Spatial {

View File

@@ -6,6 +6,7 @@ import Comparison from '../filter/Comparison.js';
/**
* @classdesc
* Represents a `<PropertyIsBetween>` comparison operator.
* @api
*/
class IsBetween extends Comparison {
@@ -13,7 +14,6 @@ class IsBetween extends Comparison {
* @param {!string} propertyName Name of the context property to compare.
* @param {!number} lowerBoundary The lower bound of the range.
* @param {!number} upperBoundary The upper bound of the range.
* @api
*/
constructor(propertyName, lowerBoundary, upperBoundary) {
super('PropertyIsBetween', propertyName);

View File

@@ -6,6 +6,7 @@ import Comparison from '../filter/Comparison.js';
/**
* @classdesc
* Represents a `<PropertyIsLike>` comparison operator.
* @api
*/
class IsLike extends Comparison {
@@ -20,7 +21,6 @@ class IsLike extends Comparison {
* @param {string=} opt_escapeChar Escape character which can be used to escape
* the pattern characters. Default is '!'.
* @param {boolean=} opt_matchCase Case-sensitive?
* @api
*/
constructor(propertyName, pattern, opt_wildCard, opt_singleChar, opt_escapeChar, opt_matchCase) {
super('PropertyIsLike', propertyName);

View File

@@ -6,12 +6,12 @@ import Comparison from '../filter/Comparison.js';
/**
* @classdesc
* Represents a `<PropertyIsNull>` comparison operator.
* @api
*/
class IsNull extends Comparison {
/**
* @param {!string} propertyName Name of the context property to compare.
* @api
*/
constructor(propertyName) {
super('PropertyIsNull', propertyName);

View File

@@ -6,13 +6,13 @@ import ComparisonBinary from '../filter/ComparisonBinary.js';
/**
* @classdesc
* Represents a `<PropertyIsLessThan>` comparison operator.
* @api
*/
class LessThan extends ComparisonBinary {
/**
* @param {!string} propertyName Name of the context property to compare.
* @param {!number} expression The value to compare.
* @api
*/
constructor(propertyName, expression) {
super('PropertyIsLessThan', propertyName, expression);

View File

@@ -6,13 +6,13 @@ import ComparisonBinary from '../filter/ComparisonBinary.js';
/**
* @classdesc
* Represents a `<PropertyIsLessThanOrEqualTo>` comparison operator.
* @api
*/
class LessThanOrEqualTo extends ComparisonBinary {
/**
* @param {!string} propertyName Name of the context property to compare.
* @param {!number} expression The value to compare.
* @api
*/
constructor(propertyName, expression) {
super('PropertyIsLessThanOrEqualTo', propertyName, expression);

View File

@@ -6,12 +6,12 @@ import Filter from '../filter/Filter.js';
/**
* @classdesc
* Represents a logical `<Not>` operator for a filter condition.
* @api
*/
class Not extends Filter {
/**
* @param {!module:ol/format/filter/Filter} condition Filter condition.
* @api
*/
constructor(condition) {

View File

@@ -6,6 +6,7 @@ import ComparisonBinary from '../filter/ComparisonBinary.js';
/**
* @classdesc
* Represents a `<PropertyIsNotEqualTo>` comparison operator.
* @api
*/
class NotEqualTo extends ComparisonBinary {
@@ -13,7 +14,6 @@ class NotEqualTo extends ComparisonBinary {
* @param {!string} propertyName Name of the context property to compare.
* @param {!(string|number)} expression The value to compare.
* @param {boolean=} opt_matchCase Case-sensitive?
* @api
*/
constructor(propertyName, expression, opt_matchCase) {
super('PropertyIsNotEqualTo', propertyName, expression, opt_matchCase);

View File

@@ -6,12 +6,12 @@ import LogicalNary from '../filter/LogicalNary.js';
/**
* @classdesc
* Represents a logical `<Or>` operator between two ore more filter conditions.
* @api
*/
class Or extends LogicalNary {
/**
* @param {...module:ol/format/filter/Filter} conditions Conditions.
* @api
*/
constructor(conditions) {
const params = ['Or'].concat(Array.prototype.slice.call(arguments));

View File

@@ -7,6 +7,7 @@ import Spatial from '../filter/Spatial.js';
* @classdesc
* Represents a `<Within>` operator to test whether a geometry-valued property
* is within a given geometry.
* @api
*/
class Within extends Spatial {
@@ -15,7 +16,6 @@ class Within extends Spatial {
* @param {!module:ol/geom/Geometry} geometry Geometry.
* @param {string=} opt_srsName SRS name. No srsName attribute will be
* set on geometries when this is not provided.
* @api
*/
constructor(geometryName, geometry, opt_srsName) {
super('Within', geometryName, geometry, opt_srsName);

View File

@@ -15,12 +15,12 @@ import Interaction, {zoomByDelta} from '../interaction/Interaction.js';
/**
* @classdesc
* Allows the user to zoom by double-clicking on the map.
* @api
*/
class DoubleClickZoom extends Interaction {
/**
* @param {module:ol/interaction/DoubleClickZoom~Options=} opt_options Options.
* @api
*/
constructor(opt_options) {
super({

View File

@@ -83,13 +83,13 @@ class DragAndDropEvent extends Event {
/**
* @classdesc
* Handles input of vector data by drag and drop.
* @api
*
* @fires module:ol/interaction/DragAndDrop~DragAndDropEvent
*/
class DragAndDrop extends Interaction {
/**
* @param {module:ol/interaction/DragAndDrop~Options=} opt_options Options.
* @api
*/
constructor(opt_options) {

View File

@@ -107,11 +107,11 @@ class DragBoxEvent extends Event {
* This interaction is only supported for mouse devices.
*
* @fires module:ol/interaction/DragBox~DragBoxEvent
* @api
*/
class DragBox extends PointerInteraction {
/**
* @param {module:ol/interaction/DragBox~Options=} opt_options Options.
* @api
*/
constructor(opt_options) {

View File

@@ -21,11 +21,11 @@ import PointerInteraction, {centroid as centroidFromPointers} from '../interacti
/**
* @classdesc
* Allows the user to pan the map by dragging the map.
* @api
*/
class DragPan extends PointerInteraction {
/**
* @param {module:ol/interaction/DragPan~Options=} opt_options Options.
* @api
*/
constructor(opt_options) {

View File

@@ -26,12 +26,12 @@ import PointerInteraction from '../interaction/Pointer.js';
* it to when the alt and shift keys are held down.
*
* This interaction is only supported for mouse devices.
* @api
*/
class DragRotate extends PointerInteraction {
/**
* @param {module:ol/interaction/DragRotate~Options=} opt_options Options.
* @api
*/
constructor(opt_options) {

View File

@@ -27,12 +27,12 @@ import PointerInteraction from '../interaction/Pointer.js';
* This interaction is only supported for mouse devices.
*
* And this interaction is not included in the default interactions.
* @api
*/
class DragRotateAndZoom extends PointerInteraction {
/**
* @param {module:ol/interaction/DragRotateAndZoom~Options=} opt_options Options.
* @api
*/
constructor(opt_options) {

View File

@@ -28,11 +28,11 @@ import DragBox from '../interaction/DragBox.js';
*
* To change the style of the box, use CSS and the `.ol-dragzoom` selector, or
* your custom one configured with `className`.
* @api
*/
class DragZoom extends DragBox {
/**
* @param {module:ol/interaction/DragZoom~Options=} opt_options Options.
* @api
*/
constructor(opt_options) {
const options = opt_options ? opt_options : {};

View File

@@ -154,11 +154,11 @@ class DrawEvent extends Event {
* Interaction for drawing feature geometries.
*
* @fires module:ol/interaction/Draw~DrawEvent
* @api
*/
class Draw extends PointerInteraction {
/**
* @param {module:ol/interaction/Draw~Options} options Options.
* @api
*/
constructor(options) {

View File

@@ -77,11 +77,11 @@ class ExtentInteractionEvent extends Event {
* This interaction is only supported for mouse devices.
*
* @fires module:ol/interaction/Extent~Event
* @api
*/
class ExtentInteraction extends PointerInteraction {
/**
* @param {module:ol/interaction/Extent~Options=} opt_options Options.
* @api
*/
constructor(opt_options) {

View File

@@ -29,11 +29,11 @@ import {clamp} from '../math.js';
* by a keyboard event not a button element event.
* Although interactions do not have a DOM element, some of them do render
* vectors and so are visible on the screen.
* @api
*/
class Interaction extends BaseObject {
/**
* @param {module:ol/interaction/Interaction~InteractionOptions} options Options.
* @api
*/
constructor(options) {
super();

View File

@@ -32,11 +32,11 @@ import Interaction, {pan} from '../interaction/Interaction.js';
* element, focus will have to be on, and returned to, this element if the keys
* are to function.
* See also {@link module:ol/interaction/KeyboardZoom~KeyboardZoom}.
* @api
*/
class KeyboardPan extends Interaction {
/**
* @param {module:ol/interaction/KeyboardPan~Options=} opt_options Options.
* @api
*/
constructor(opt_options) {

View File

@@ -28,11 +28,11 @@ import Interaction, {zoomByDelta} from '../interaction/Interaction.js';
* element, focus will have to be on, and returned to, this element if the keys
* are to function.
* See also {@link moudle:ol/interaction/KeyboardPan~KeyboardPan}.
* @api
*/
class KeyboardZoom extends Interaction {
/**
* @param {module:ol/interaction/KeyboardZoom~Options=} opt_options Options.
* @api
*/
constructor(opt_options) {

View File

@@ -149,11 +149,11 @@ export class ModifyEvent extends Event {
* key is pressed. To configure the interaction with a different condition
* for deletion, use the `deleteCondition` option.
* @fires module:ol/interaction/Modify~ModifyEvent
* @api
*/
class Modify extends PointerInteraction {
/**
* @param {module:ol/interaction/Modify~Options} options Options.
* @api
*/
constructor(options) {

View File

@@ -46,11 +46,11 @@ export const Mode = {
/**
* @classdesc
* Allows the user to zoom the map by scrolling the mouse wheel.
* @api
*/
class MouseWheelZoom extends Interaction {
/**
* @param {module:ol/interaction/MouseWheelZoom~Options=} opt_options Options.
* @api
*/
constructor(opt_options) {

View File

@@ -20,11 +20,11 @@ import {disable} from '../rotationconstraint.js';
* @classdesc
* Allows the user to rotate the map by twisting with two fingers
* on a touch screen.
* @api
*/
class PinchRotate extends PointerInteraction {
/**
* @param {module:ol/interaction/PinchRotate~Options=} opt_options Options.
* @api
*/
constructor(opt_options) {

View File

@@ -19,11 +19,11 @@ import PointerInteraction, {centroid as centroidFromPointers} from '../interacti
* @classdesc
* Allows the user to zoom the map by pinching with two fingers
* on a touch screen.
* @api
*/
class PinchZoom extends PointerInteraction {
/**
* @param {module:ol/interaction/PinchZoom~Options=} opt_options Options.
* @api
*/
constructor(opt_options) {

View File

@@ -73,11 +73,11 @@ const handleMoveEvent = UNDEFINED;
* started. During a drag sequence the `handleDragEvent` user function is
* called on `move` events. The drag sequence ends when the `handleUpEvent`
* user function is called and returns `false`.
* @api
*/
class PointerInteraction extends Interaction {
/**
* @param {module:ol/interaction/Pointer~Options=} opt_options Options.
* @api
*/
constructor(opt_options) {

View File

@@ -152,11 +152,11 @@ class SelectEvent extends Event {
* Selected features are added to an internal unmanaged layer.
*
* @fires SelectEvent
* @api
*/
class Select extends Interaction {
/**
* @param {module:ol/interaction/Select~Options=} opt_options Options.
* @api
*/
constructor(opt_options) {

View File

@@ -62,11 +62,12 @@ import RBush from '../structs/RBush.js';
* var snap = new Snap({
* source: source
* });
*
* @api
*/
class Snap extends PointerInteraction {
/**
* @param {module:ol/interaction/Snap~Options=} opt_options Options.
* @api
*/
constructor(opt_options) {

View File

@@ -91,11 +91,11 @@ export class TranslateEvent extends Event {
* Interaction for translating (moving) features.
*
* @fires module:ol/interaction/Translate~TranslateEvent
* @api
*/
class Translate extends PointerInteraction {
/**
* @param {module:ol/interaction/Translate~Options=} opt_options Options.
* @api
*/
constructor(opt_options) {
super({

View File

@@ -22,17 +22,19 @@ import {assign} from '../obj.js';
*/
/**
* @classdesc
* Abstract base class; normally only used for creating subclasses and not
* instantiated in apps.
* Note that with {@link module:ol/layer/Base} and all its subclasses, any property set in
* the options is set as a {@link module:ol/Object} property on the layer object, so
* is observable, and has get/set accessors.
*
* @api
*/
class BaseLayer extends BaseObject {
/**
* @classdesc
* Abstract base class; normally only used for creating subclasses and not
* instantiated in apps.
* Note that with {@link module:ol/layer/Base} and all its subclasses, any property set in
* the options is set as a {@link module:ol/Object} property on the layer object, so
* is observable, and has get/set accessors.
*
* @param {module:ol/layer/Base~Options} options Layer options.
* @api
*/
constructor(options) {

View File

@@ -40,15 +40,17 @@ const Property = {
};
/**
* @classdesc
* A {@link module:ol/Collection~Collection} of layers that are handled together.
*
* A generic `change` event is triggered when the group/Collection changes.
*
* @api
*/
class LayerGroup extends BaseLayer {
/**
* @classdesc
* A {@link module:ol/Collection~Collection} of layers that are handled together.
*
* A generic `change` event is triggered when the group/Collection changes.
*
* @param {module:ol/layer/Group~Options=} opt_options Layer options.
* @api
*/
constructor(opt_options) {

View File

@@ -59,17 +59,19 @@ const Property = {
const DEFAULT_GRADIENT = ['#00f', '#0ff', '#0f0', '#ff0', '#f00'];
/**
* @classdesc
* Layer for rendering vector data as a heatmap.
* Note that any property set in the options is set as a {@link module:ol/Object~BaseObject}
* property on the layer object; for example, setting `title: 'My Title'` in the
* options means that `title` is observable, and has get/set accessors.
*
* @fires module:ol/render/Event~RenderEvent
* @api
*/
class Heatmap extends VectorLayer {
/**
* @classdesc
* Layer for rendering vector data as a heatmap.
* Note that any property set in the options is set as a {@link module:ol/Object~BaseObject}
* property on the layer object; for example, setting `title: 'My Title'` in the
* options means that `title` is observable, and has get/set accessors.
*
* @fires module:ol/render/Event~RenderEvent
* @param {module:ol/layer/Heatmap~Options=} opt_options Options.
* @api
*/
constructor(opt_options) {
const options = opt_options ? opt_options : {};

View File

@@ -25,19 +25,21 @@ import Layer from '../layer/Layer.js';
*/
/**
* @classdesc
* Server-rendered images that are available for arbitrary extents and
* resolutions.
* Note that any property set in the options is set as a {@link module:ol/Object~BaseObject}
* property on the layer object; for example, setting `title: 'My Title'` in the
* options means that `title` is observable, and has get/set accessors.
*
* @fires module:ol/render/Event~RenderEvent
* @api
*/
class ImageLayer extends Layer {
/**
* @classdesc
* Server-rendered images that are available for arbitrary extents and
* resolutions.
* Note that any property set in the options is set as a {@link module:ol/Object~BaseObject}
* property on the layer object; for example, setting `title: 'My Title'` in the
* options means that `title` is observable, and has get/set accessors.
*
* @fires module:ol/render/Event~RenderEvent
* @param {module:ol/layer/Image~Options=} opt_options Layer options.
* @api
*/
constructor(opt_options) {
const options = opt_options ? opt_options : {};

View File

@@ -43,26 +43,26 @@ import SourceState from '../source/State.js';
* @property {number} minResolution
*/
/**
* @classdesc
* Abstract base class; normally only used for creating subclasses and not
* instantiated in apps.
* A visual representation of raster or vector map data.
* Layers group together those properties that pertain to how the data is to be
* displayed, irrespective of the source of that data.
*
* Layers are usually added to a map with {@link module:ol/Map#addLayer}. Components
* like {@link module:ol/interaction/Select~Select} use unmanaged layers
* internally. These unmanaged layers are associated with the map using
* {@link module:ol/layer/Layer~Layer#setMap} instead.
*
* A generic `change` event is fired when the state of the source changes.
*
* @fires module:ol/render/Event~RenderEvent
*/
class Layer extends BaseLayer {
/**
* @classdesc
* Abstract base class; normally only used for creating subclasses and not
* instantiated in apps.
* A visual representation of raster or vector map data.
* Layers group together those properties that pertain to how the data is to be
* displayed, irrespective of the source of that data.
*
* Layers are usually added to a map with {@link module:ol/Map#addLayer}. Components
* like {@link module:ol/interaction/Select~Select} use unmanaged layers
* internally. These unmanaged layers are associated with the map using
* {@link module:ol/layer/Layer~Layer#setMap} instead.
*
* A generic `change` event is fired when the state of the source changes.
*
* @fires module:ol/render/Event~RenderEvent
* @param {module:ol/layer/Layer~Options} options Layer options.
* @api
*/
constructor(options) {

View File

@@ -29,18 +29,19 @@ import {assign} from '../obj.js';
* @property {boolean} [useInterimTilesOnError=true] Use interim tiles on error.
*/
/**
* @classdesc
* For layer sources that provide pre-rendered, tiled images in grids that are
* organized by zoom levels for specific resolutions.
* Note that any property set in the options is set as a {@link module:ol/Object~BaseObject}
* property on the layer object; for example, setting `title: 'My Title'` in the
* options means that `title` is observable, and has get/set accessors.
*
* @api
*/
class TileLayer extends Layer {
/**
* @classdesc
* For layer sources that provide pre-rendered, tiled images in grids that are
* organized by zoom levels for specific resolutions.
* Note that any property set in the options is set as a {@link module:ol/Object~BaseObject}
* property on the layer object; for example, setting `title: 'My Title'` in the
* options means that `title` is observable, and has get/set accessors.
*
* @param {module:ol/layer/Tile~Options=} opt_options Tile layer options.
* @api
*/
constructor(opt_options) {
const options = opt_options ? opt_options : {};

View File

@@ -77,16 +77,18 @@ const Property = {
};
/**
* @classdesc
* Vector data that is rendered client-side.
* Note that any property set in the options is set as a {@link module:ol/Object~BaseObject}
* property on the layer object; for example, setting `title: 'My Title'` in the
* options means that `title` is observable, and has get/set accessors.
*
* @api
*/
class VectorLayer extends Layer {
/**
* @classdesc
* Vector data that is rendered client-side.
* Note that any property set in the options is set as a {@link module:ol/Object~BaseObject}
* property on the layer object; for example, setting `title: 'My Title'` in the
* options means that `title` is observable, and has get/set accessors.
*
* @param {module:ol/layer/Vector~Options=} opt_options Options.
* @api
*/
constructor(opt_options) {
const options = opt_options ?

View File

@@ -86,16 +86,19 @@ export const RenderType = {
*/
/**
* @classdesc
* Layer for vector tile data that is rendered client-side.
* Note that any property set in the options is set as a {@link module:ol/Object~BaseObject}
* property on the layer object; for example, setting `title: 'My Title'` in the
* options means that `title` is observable, and has get/set accessors.
*
* @param {module:ol/layer/VectorTile~Options=} opt_options Options.
* @api
*/
class VectorTileLayer extends VectorLayer {
/**
* @classdesc
* Layer for vector tile data that is rendered client-side.
* Note that any property set in the options is set as a {@link module:ol/Object~BaseObject}
* property on the layer object; for example, setting `title: 'My Title'` in the
* options means that `title` is observable, and has get/set accessors.
*
* @param {module:ol/layer/VectorTile~Options=} opt_options Options.
* @api
*/
constructor(opt_options) {
const options = opt_options ? opt_options : {};

View File

@@ -3,6 +3,7 @@
*/
/**
* @classdesc
* Context for drawing geometries. A vector context is available on render
* events and does not need to be constructed directly.
* @api

View File

@@ -16,16 +16,17 @@ import VectorContext from '../VectorContext.js';
import {defaultTextAlign, defaultFillStyle, defaultLineCap, defaultLineDash, defaultLineDashOffset, defaultLineJoin, defaultLineWidth, defaultMiterLimit, defaultStrokeStyle, defaultTextBaseline, defaultFont} from '../canvas.js';
import {create as createTransform, compose as composeTransform} from '../../transform.js';
/**
* @classdesc
* A concrete subclass of {@link module:ol/render/VectorContext} that implements
* direct rendering of features and geometries to an HTML5 Canvas context.
* Instances of this class are created internally by the library and
* provided to application code as vectorContext member of the
* {@link module:ol/render/Event~RenderEvent} object associated with postcompose, precompose and
* render events emitted by layers and maps.
*/
class CanvasImmediateRenderer extends VectorContext {
/**
* @classdesc
* A concrete subclass of {@link module:ol/render/VectorContext} that implements
* direct rendering of features and geometries to an HTML5 Canvas context.
* Instances of this class are created internally by the library and
* provided to application code as vectorContext member of the
* {@link module:ol/render/Event~RenderEvent} object associated with postcompose, precompose and
* render events emitted by layers and maps.
*
* @param {CanvasRenderingContext2D} context Context.
* @param {number} pixelRatio Pixel ratio.
* @param {module:ol/extent~Extent} extent Extent.

View File

@@ -13,11 +13,15 @@ import {layerRendererConstructors} from './Map.js';
import IntermediateCanvasRenderer from './IntermediateCanvas.js';
import {create as createTransform, compose as composeTransform} from '../../transform.js';
/**
* @classdesc
* Canvas renderer for image layers.
* @api
*/
class CanvasImageLayerRenderer extends IntermediateCanvasRenderer {
/**
* @param {module:ol/layer/Image|module:ol/layer/Vector} imageLayer Image or vector layer.
* @api
*/
constructor(imageLayer) {

View File

@@ -19,12 +19,15 @@ import SourceState from '../../source/State.js';
*/
export const layerRendererConstructors = [];
/**
* @classdesc
* Canvas map renderer.
* @api
*/
class CanvasMapRenderer extends MapRenderer {
/**
* @param {module:ol/PluggableMap} map Map.
* @api
*/
constructor(map) {
super(map);

View File

@@ -11,12 +11,16 @@ import {containsExtent, createEmpty, equals, getIntersection, isEmpty} from '../
import IntermediateCanvasRenderer from '../canvas/IntermediateCanvas.js';
import {create as createTransform, compose as composeTransform} from '../../transform.js';
/**
* @classdesc
* Canvas renderer for tile layers.
* @api
*/
class CanvasTileLayerRenderer extends IntermediateCanvasRenderer {
/**
* @param {module:ol/layer/Tile|module:ol/layer/VectorTile} tileLayer Tile layer.
* @param {boolean=} opt_noContext Skip the context creation.
* @api
*/
constructor(tileLayer, opt_noContext) {

View File

@@ -15,11 +15,15 @@ import CanvasReplayGroup from '../../render/canvas/ReplayGroup.js';
import CanvasLayerRenderer from '../canvas/Layer.js';
import {defaultOrder as defaultRenderOrder, getTolerance as getRenderTolerance, getSquaredTolerance as getSquaredRenderTolerance, renderFeature} from '../vector.js';
/**
* @classdesc
* Canvas renderer for vector layers.
* @api
*/
class CanvasVectorLayerRenderer extends CanvasLayerRenderer {
/**
* @param {module:ol/layer/Vector} vectorLayer Vector layer.
* @api
*/
constructor(vectorLayer) {

View File

@@ -47,11 +47,15 @@ const VECTOR_REPLAYS = {
};
/**
* @classdesc
* Canvas renderer for vector tile layers.
* @api
*/
class CanvasVectorTileLayerRenderer extends CanvasTileLayerRenderer {
/**
* @param {module:ol/layer/VectorTile} layer VectorTile layer.
* @api
*/
constructor(layer) {

View File

@@ -21,12 +21,16 @@ import {
import {CLAMP_TO_EDGE} from '../../webgl.js';
import {createTexture} from '../../webgl/Context.js';
/**
* @classdesc
* WebGL renderer for image layers.
* @api
*/
class WebGLImageLayerRenderer extends WebGLLayerRenderer {
/**
* @param {module:ol/renderer/webgl/Map} mapRenderer Map renderer.
* @param {module:ol/layer/Image} imageLayer Tile layer.
* @api
*/
constructor(mapRenderer, imageLayer) {

View File

@@ -37,11 +37,15 @@ import ContextEventType from '../../webgl/ContextEventType.js';
const WEBGL_TEXTURE_CACHE_HIGH_WATER_MARK = 1024;
/**
* @classdesc
* WebGL map renderer.
* @api
*/
class WebGLMapRenderer extends MapRenderer {
/**
* @param {module:ol/PluggableMap} map Map.
* @api
*/
constructor(map) {
super(map);

View File

@@ -24,12 +24,16 @@ import {
import {COLOR_BUFFER_BIT, BLEND, ARRAY_BUFFER, FLOAT, LINEAR, TRIANGLE_STRIP} from '../../webgl.js';
import WebGLBuffer from '../../webgl/Buffer.js';
/**
* @classdesc
* WebGL renderer for tile layers.
* @api
*/
class WebGLTileLayerRenderer extends WebGLLayerRenderer {
/**
* @param {module:ol/renderer/webgl/Map} mapRenderer Map renderer.
* @param {module:ol/layer/Tile} tileLayer Tile layer.
* @api
*/
constructor(mapRenderer, tileLayer) {

View File

@@ -10,12 +10,17 @@ import {defaultOrder as defaultRenderOrder, getTolerance as getRenderTolerance,
import WebGLLayerRenderer from '../webgl/Layer.js';
import {apply as applyTransform} from '../../transform.js';
/**
* @classdesc
* WebGL renderer for vector layers.
* @api
*/
class WebGLVectorLayerRenderer extends WebGLLayerRenderer {
/**
* @param {module:ol/renderer/webgl/Map} mapRenderer Map renderer.
* @param {module:ol/layer/Vector} vectorLayer Vector layer.
* @api
*/
constructor(mapRenderer, vectorLayer) {

View File

@@ -17,12 +17,13 @@ import Triangulation from '../reproj/Triangulation.js';
*/
/**
* @classdesc
* Class encapsulating single reprojected image.
* See {@link module:ol/source/Image~ImageSource}.
*/
class ReprojImage extends ImageBase {
/**
* @classdesc
* Class encapsulating single reprojected image.
* See {@link module:ol/source/Image~ImageSource}.
*
* @param {module:ol/proj/Projection} sourceProj Source projection (of the data).
* @param {module:ol/proj/Projection} targetProj Target projection.
* @param {module:ol/extent~Extent} targetExtent Target extent.

View File

@@ -18,12 +18,14 @@ import Triangulation from '../reproj/Triangulation.js';
*/
/**
* @classdesc
* Class encapsulating single reprojected tile.
* See {@link module:ol/source/TileImage~TileImage}.
*
*/
class ReprojTile extends Tile {
/**
* @classdesc
* Class encapsulating single reprojected tile.
* See {@link module:ol/source/TileImage~TileImage}.
*
* @param {module:ol/proj/Projection} sourceProj Source projection.
* @param {module:ol/tilegrid/TileGrid} sourceTileGrid Source tile grid.
* @param {module:ol/proj/Projection} targetProj Target projection.

View File

@@ -44,13 +44,15 @@ const TOS_ATTRIBUTION = '<a class="ol-attribution-bing-tos" ' +
* To disable the opacity transition, pass `transition: 0`.
*/
/**
* @classdesc
* Layer source for Bing Maps tile data.
* @api
*/
class BingMaps extends TileImage {
/**
* @classdesc
* Layer source for Bing Maps tile data.
*
* @param {module:ol/source/BingMaps~Options=} options Bing Maps options.
* @api
*/
constructor(options) {

View File

@@ -31,13 +31,14 @@ import XYZ from '../source/XYZ.js';
*/
/**
* @classdesc
* Layer source for the CartoDB Maps API.
* @api
*/
class CartoDB extends XYZ {
/**
* @classdesc
* Layer source for the CartoDB Maps API.
*
* @param {module:ol/source/CartoDB~Options=} options CartoDB options.
* @api
*/
constructor(options) {
super({

View File

@@ -36,15 +36,16 @@ import VectorSource from '../source/Vector.js';
*/
/**
* @classdesc
* Layer source to cluster vector data. Works out of the box with point
* geometries. For other geometry types, or if not all geometries should be
* considered for clustering, a custom `geometryFunction` can be defined.
* @api
*/
class Cluster extends VectorSource {
/**
* @classdesc
* Layer source to cluster vector data. Works out of the box with point
* geometries. For other geometry types, or if not all geometries should be
* considered for clustering, a custom `geometryFunction` can be defined.
*
* @param {module:ol/source/Cluster~Options=} options Cluster options.
* @api
*/
constructor(options) {
super({

View File

@@ -41,13 +41,13 @@ const ImageSourceEventType = {
};
/**
* @classdesc
* Events emitted by {@link module:ol/source/Image~ImageSource} instances are instances of this
* type.
*/
class ImageSourceEvent extends Event {
/**
* @classdesc
* Events emitted by {@link module:ol/source/Image~ImageSource} instances are instances of this
* type.
*
* @param {string} type Type.
* @param {module:ol/Image} image The image.
*/
@@ -77,15 +77,16 @@ class ImageSourceEvent extends Event {
*/
/**
* @classdesc
* Abstract base class; normally only used for creating subclasses and not
* instantiated in apps.
* Base class for sources providing a single image.
* @api
*/
class ImageSource extends Source {
/**
* @classdesc
* Abstract base class; normally only used for creating subclasses and not
* instantiated in apps.
* Base class for sources providing a single image.
*
* @param {module:ol/source/Image~Options} options Single image source options.
* @api
*/
constructor(options) {
super({

View File

@@ -39,19 +39,21 @@ import {appendParams} from '../uri.js';
*/
/**
* @classdesc
* Source for data from ArcGIS Rest services providing single, untiled images.
* Useful when underlying map service has labels.
*
* If underlying map service is not using labels,
* take advantage of ol image caching and use
* {@link module:ol/source/TileArcGISRest} data source.
*
* @fires ol/source/Image~ImageSourceEvent
* @api
*/
class ImageArcGISRest extends ImageSource {
/**
* @classdesc
* Source for data from ArcGIS Rest services providing single, untiled images.
* Useful when underlying map service has labels.
*
* If underlying map service is not using labels,
* take advantage of ol image caching and use
* {@link module:ol/source/TileArcGISRest} data source.
*
* @fires ol/source/Image~ImageSourceEvent
* @param {module:ol/source/ImageArcGISRest~Options=} opt_options Image ArcGIS Rest Options.
* @api
*/
constructor(opt_options) {

View File

@@ -42,13 +42,14 @@ import ImageSource from '../source/Image.js';
*/
/**
* @classdesc
* Base class for image sources where a canvas element is the image.
* @api
*/
class ImageCanvasSource extends ImageSource {
/**
* @classdesc
* Base class for image sources where a canvas element is the image.
*
* @param {module:ol/source/ImageCanvas~Options=} options ImageCanvas options.
* @api
*/
constructor(options) {

View File

@@ -32,14 +32,16 @@ import {appendParams} from '../uri.js';
*/
/**
* @classdesc
* Source for images from Mapguide servers
*
* @fires ol/source/Image~ImageSourceEvent
* @api
*/
class ImageMapGuide extends ImageSource {
/**
* @classdesc
* Source for images from Mapguide servers
*
* @fires ol/source/Image~ImageSourceEvent
* @param {module:ol/source/ImageMapGuide~Options=} options ImageMapGuide options.
* @api
*/
constructor(options) {

View File

@@ -28,13 +28,14 @@ import ImageSource, {defaultImageLoadFunction} from '../source/Image.js';
*/
/**
* @classdesc
* A layer source for displaying a single, static image.
* @api
*/
class Static extends ImageSource {
/**
* @classdesc
* A layer source for displaying a single, static image.
*
* @param {module:ol/source/ImageStatic~Options=} options ImageStatic options.
* @api
*/
constructor(options) {
const imageExtent = options.imageExtent;

View File

@@ -51,14 +51,16 @@ const GETFEATUREINFO_IMAGE_SIZE = [101, 101];
*/
/**
* @classdesc
* Source for WMS servers providing single, untiled images.
*
* @fires ol/source/Image~ImageSourceEvent
* @api
*/
class ImageWMS extends ImageSource {
/**
* @classdesc
* Source for WMS servers providing single, untiled images.
*
* @fires ol/source/Image~ImageSourceEvent
* @param {module:ol/source/ImageWMS~Options=} [opt_options] ImageWMS options.
* @api
*/
constructor(opt_options) {

View File

@@ -41,14 +41,14 @@ export const ATTRIBUTION = '&copy; ' +
*/
/**
* @classdesc
* Layer source for the OpenStreetMap tile server.
* @api
*/
class OSM extends XYZ {
/**
* @classdesc
* Layer source for the OpenStreetMap tile server.
*
* @param {module:ol/source/OSM~Options=} [opt_options] Open Street Map options.
* @api
*/
constructor(opt_options) {

View File

@@ -72,13 +72,13 @@ const RasterOperationType = {
};
/**
* @classdesc
* Events emitted by {@link module:ol/source/Raster} instances are instances of this
* type.
*/
class RasterSourceEvent extends Event {
/**
* @classdesc
* Events emitted by {@link module:ol/source/Raster} instances are instances of this
* type.
*
* @param {string} type Type.
* @param {module:ol/PluggableMap~FrameState} frameState The frame state.
* @param {Object} data An object made available to operations.
@@ -133,16 +133,18 @@ class RasterSourceEvent extends Event {
*/
/**
* @classdesc
* A source that transforms data from any number of input sources using an
* {@link module:ol/source/Raster~Operation} function to transform input pixel values into
* output pixel values.
*
* @fires ol/source/Raster~RasterSourceEvent
* @api
*/
class RasterSource extends ImageSource {
/**
* @classdesc
* A source that transforms data from any number of input sources using an
* {@link module:ol/source/Raster~Operation} function to transform input pixel values into
* output pixel values.
*
* @fires ol/source/Raster~RasterSourceEvent
* @param {module:ol/source/Raster~Options=} options Options.
* @api
*/
constructor(options) {
super({});

View File

@@ -37,17 +37,18 @@ import SourceState from '../source/State.js';
*/
/**
* @classdesc
* Abstract base class; normally only used for creating subclasses and not
* instantiated in apps.
* Base class for {@link module:ol/layer/Layer~Layer} sources.
*
* A generic `change` event is triggered when the state of the source changes.
* @api
*/
class Source extends BaseObject {
/**
* @classdesc
* Abstract base class; normally only used for creating subclasses and not
* instantiated in apps.
* Base class for {@link module:ol/layer/Layer~Layer} sources.
*
* A generic `change` event is triggered when the state of the source changes.
*
* @param {module:ol/source/Source~Options} options Source options.
* @api
*/
constructor(options) {

View File

@@ -109,14 +109,14 @@ const ProviderConfig = {
*/
/**
* @classdesc
* Layer source for the Stamen tile server.
* @api
*/
class Stamen extends XYZ {
/**
* @classdesc
* Layer source for the Stamen tile server.
*
* @param {module:ol/source/Stamen~Options=} options Stamen options.
* @api
*/
constructor(options) {
const i = options.layer.indexOf('-');

View File

@@ -27,15 +27,16 @@ import {wrapX, getForProjection as getTileGridForProjection} from '../tilegrid.j
*/
/**
* @classdesc
* Abstract base class; normally only used for creating subclasses and not
* instantiated in apps.
* Base class for sources providing images divided into a tile grid.
* @api
*/
class TileSource extends Source {
/**
* @classdesc
* Abstract base class; normally only used for creating subclasses and not
* instantiated in apps.
* Base class for sources providing images divided into a tile grid.
*
* @param {module:ol/source/Tile~Options=} options SourceTile source options.
* @api
*/
constructor(options) {
@@ -307,12 +308,12 @@ TileSource.prototype.useTile = UNDEFINED;
* @classdesc
* Events emitted by {@link module:ol/source/Tile~TileSource} instances are instances of this
* type.
*
* @param {string} type Type.
* @param {module:ol/Tile} tile The tile.
*/
export class TileSourceEvent extends Event {
/**
* @param {string} type Type.
* @param {module:ol/Tile} tile The tile.
*/
constructor(type, tile) {
super(type);

View File

@@ -51,17 +51,18 @@ import {appendParams} from '../uri.js';
*/
/**
* @classdesc
* Layer source for tile data from ArcGIS Rest services. Map and Image
* Services are supported.
*
* For cached ArcGIS services, better performance is available using the
* {@link module:ol/source/XYZ~XYZ} data source.
* @api
*/
class TileArcGISRest extends TileImage {
/**
* @classdesc
* Layer source for tile data from ArcGIS Rest services. Map and Image
* Services are supported.
*
* For cached ArcGIS services, better performance is available using the
* {@link module:ol/source/XYZ~XYZ} data source.
*
* @param {module:ol/source/TileArcGISRest~Options=} opt_options Tile ArcGIS Rest options.
* @api
*/
constructor(opt_options) {

View File

@@ -80,17 +80,18 @@ class LabeledTile extends Tile {
*/
/**
* @classdesc
* A pseudo tile source, which does not fetch tiles from a server, but renders
* a grid outline for the tile grid/projection along with the coordinates for
* each tile. See examples/canvas-tiles for an example.
*
* Uses Canvas context2d, so requires Canvas support.
* @api
*/
class TileDebug extends TileSource {
/**
* @classdesc
* A pseudo tile source, which does not fetch tiles from a server, but renders
* a grid outline for the tile grid/projection along with the coordinates for
* each tile. See examples/canvas-tiles for an example.
*
* Uses Canvas context2d, so requires Canvas support.
*
* @param {module:ol/source/TileDebug~Options=} options Debug tile options.
* @api
*/
constructor(options) {

View File

@@ -54,14 +54,16 @@ import {getForProjection as getTileGridForProjection} from '../tilegrid.js';
*/
/**
* @classdesc
* Base class for sources providing images divided into a tile grid.
*
* @fires module:ol/source/Tile~TileSourceEvent
* @api
*/
class TileImage extends UrlTile {
/**
* @classdesc
* Base class for sources providing images divided into a tile grid.
*
* @fires module:ol/source/Tile~TileSourceEvent
* @param {module:ol/source/TileImage~Options=} options Image tile options.
* @api
*/
constructor(options) {

View File

@@ -44,13 +44,14 @@ import {createXYZ, extentFromProjection} from '../tilegrid.js';
*/
/**
* @classdesc
* Layer source for tile data in TileJSON format.
* @api
*/
class TileJSON extends TileImage {
/**
* @classdesc
* Layer source for tile data in TileJSON format.
*
* @param {module:ol/source/TileJSON~Options=} options TileJSON options.
* @api
*/
constructor(options) {
super({

View File

@@ -71,13 +71,14 @@ import {appendParams} from '../uri.js';
*/
/**
* @classdesc
* Layer source for tile data from WMS servers.
* @api
*/
class TileWMS extends TileImage {
/**
* @classdesc
* Layer source for tile data from WMS servers.
*
* @param {module:ol/source/TileWMS~Options=} [opt_options] Tile WMS options.
* @api
*/
constructor(opt_options) {

View File

@@ -17,16 +17,16 @@ import {getKeyZXY} from '../tilecoord.js';
import {createXYZ, extentFromProjection} from '../tilegrid.js';
/**
* @param {module:ol/tilecoord~TileCoord} tileCoord Tile coordinate.
* @param {module:ol/TileState} state State.
* @param {string} src Image source URI.
* @param {module:ol/extent~Extent} extent Extent of the tile.
* @param {boolean} preemptive Load the tile when visible (before it's needed).
* @param {boolean} jsonp Load the tile as a script.
*/
export class CustomTile extends Tile {
/**
* @param {module:ol/tilecoord~TileCoord} tileCoord Tile coordinate.
* @param {module:ol/TileState} state State.
* @param {string} src Image source URI.
* @param {module:ol/extent~Extent} extent Extent of the tile.
* @param {boolean} preemptive Load the tile when visible (before it's needed).
* @param {boolean} jsonp Load the tile as a script.
*/
constructor(tileCoord, state, src, extent, preemptive, jsonp) {
super(tileCoord, state);
@@ -267,14 +267,14 @@ CustomTile.prototype.load = function() {
*/
/**
* @classdesc
* Layer source for UTFGrid interaction data loaded from TileJSON format.
* @api
*/
class UTFGrid extends TileSource {
/**
* @classdesc
* Layer source for UTFGrid interaction data loaded from TileJSON format.
*
* @param {module:ol/source/UTFGrid~Options=} options Source options.
* @api
*/
constructor(options) {
super({

View File

@@ -27,12 +27,14 @@ import {getKeyZXY} from '../tilecoord.js';
*/
/**
* @classdesc
* Base class for sources providing tiles divided into a tile grid over http.
*
* @fires module:ol/source/TileEvent
*/
class UrlTile extends TileSource {
/**
* @classdesc
* Base class for sources providing tiles divided into a tile grid over http.
*
* @fires module:ol/source/TileEvent
* @param {module:ol/source/UrlTile~Options=} options Image tile options.
*/
constructor(options) {

View File

@@ -35,12 +35,13 @@ import RBush from '../structs/RBush.js';
* @classdesc
* Events emitted by {@link module:ol/source/Vector} instances are instances of this
* type.
*
* @param {string} type Type.
* @param {module:ol/Feature=} opt_feature Feature.
*/
export class VectorSourceEvent extends Event {
/**
* @param {string} type Type.
* @param {module:ol/Feature=} opt_feature Feature.
*/
constructor(type, opt_feature) {
super(type);
@@ -147,17 +148,18 @@ export class VectorSourceEvent extends Event {
*/
/**
* @classdesc
* Provides a source of features for vector layers. Vector features provided
* by this source are suitable for editing. See {@link module:ol/source/VectorTile~VectorTile} for
* vector data that is optimized for rendering.
*
* @fires ol/source/Vector~VectorSourceEvent
* @api
*/
class VectorSource extends Source {
/**
* @classdesc
* Provides a source of features for vector layers. Vector features provided
* by this source are suitable for editing. See {@link module:ol/source/VectorTile~VectorTile} for
* vector data that is optimized for rendering.
*
* @fires ol/source/Vector~VectorSourceEvent
* @param {module:ol/source/Vector~Options=} opt_options Vector source options.
* @api
*/
constructor(opt_options) {

View File

@@ -58,21 +58,22 @@ import {createXYZ, extentFromProjection, createForProjection} from '../tilegrid.
*/
/**
* @classdesc
* Class for layer sources providing vector data divided into a tile grid, to be
* used with {@link module:ol/layer/VectorTile~VectorTile}. Although this source receives tiles
* with vector features from the server, it is not meant for feature editing.
* Features are optimized for rendering, their geometries are clipped at or near
* tile boundaries and simplified for a view resolution. See
* {@link module:ol/source/Vector} for vector sources that are suitable for feature
* editing.
*
* @fires module:ol/source/Tile~TileSourceEvent
* @api
*/
class VectorTile extends UrlTile {
/**
* @classdesc
* Class for layer sources providing vector data divided into a tile grid, to be
* used with {@link module:ol/layer/VectorTile~VectorTile}. Although this source receives tiles
* with vector features from the server, it is not meant for feature editing.
* Features are optimized for rendering, their geometries are clipped at or near
* tile boundaries and simplified for a view resolution. See
* {@link module:ol/source/Vector} for vector sources that are suitable for feature
* editing.
*
* @fires module:ol/source/Tile~TileSourceEvent
* @param {module:ol/source/VectorTile~Options=} options Vector tile options.
* @api
*/
constructor(options) {
const projection = options.projection || 'EPSG:3857';

View File

@@ -56,14 +56,14 @@ import {appendParams} from '../uri.js';
*/
/**
* @classdesc
* Layer source for tile data from WMTS servers.
* @api
*/
class WMTS extends TileImage {
/**
* @classdesc
* Layer source for tile data from WMTS servers.
*
* @param {module:ol/source/WMTS~Options=} options WMTS options.
* @api
*/
constructor(options) {

View File

@@ -44,27 +44,27 @@ import {createXYZ, extentFromProjection} from '../tilegrid.js';
*/
/**
* @classdesc
* Layer source for tile data with URLs in a set XYZ format that are
* defined in a URL template. By default, this follows the widely-used
* Google grid where `x` 0 and `y` 0 are in the top left. Grids like
* TMS where `x` 0 and `y` 0 are in the bottom left can be used by
* using the `{-y}` placeholder in the URL template, so long as the
* source does not have a custom tile grid. In this case,
* {@link module:ol/source/TileImage} can be used with a `tileUrlFunction`
* such as:
*
* tileUrlFunction: function(coordinate) {
* return 'http://mapserver.com/' + coordinate[0] + '/' +
* coordinate[1] + '/' + coordinate[2] + '.png';
* }
*
* @api
*/
class XYZ extends TileImage {
/**
* @classdesc
* Layer source for tile data with URLs in a set XYZ format that are
* defined in a URL template. By default, this follows the widely-used
* Google grid where `x` 0 and `y` 0 are in the top left. Grids like
* TMS where `x` 0 and `y` 0 are in the bottom left can be used by
* using the `{-y}` placeholder in the URL template, so long as the
* source does not have a custom tile grid. In this case,
* {@link module:ol/source/TileImage} can be used with a `tileUrlFunction`
* such as:
*
* tileUrlFunction: function(coordinate) {
* return 'http://mapserver.com/' + coordinate[0] + '/' +
* coordinate[1] + '/' + coordinate[2] + '.png';
* }
*
*
* @param {module:ol/source/XYZ~Options=} opt_options XYZ options.
* @api
*/
constructor(opt_options) {
const options = opt_options || {};

View File

@@ -23,17 +23,17 @@ const TierSizeCalculation = {
};
/**
* @param {module:ol/tilegrid/TileGrid} tileGrid TileGrid that the tile belongs to.
* @param {module:ol/tilecoord~TileCoord} tileCoord Tile coordinate.
* @param {module:ol/TileState} state State.
* @param {string} src Image source URI.
* @param {?string} crossOrigin Cross origin.
* @param {module:ol/Tile~LoadFunction} tileLoadFunction Tile load function.
* @param {module:ol/Tile~Options=} opt_options Tile options.
*/
export class CustomTile extends ImageTile {
/**
* @param {module:ol/tilegrid/TileGrid} tileGrid TileGrid that the tile belongs to.
* @param {module:ol/tilecoord~TileCoord} tileCoord Tile coordinate.
* @param {module:ol/TileState} state State.
* @param {string} src Image source URI.
* @param {?string} crossOrigin Cross origin.
* @param {module:ol/Tile~LoadFunction} tileLoadFunction Tile load function.
* @param {module:ol/Tile~Options=} opt_options Tile options.
*/
constructor(tileGrid, tileCoord, state, src, crossOrigin, tileLoadFunction, opt_options) {
super(tileCoord, state, src, crossOrigin, tileLoadFunction, opt_options);
@@ -115,15 +115,16 @@ CustomTile.prototype.getImage = function() {
*/
/**
* @classdesc
* Layer source for tile data in Zoomify format (both Zoomify and Internet
* Imaging Protocol are supported).
* @api
*/
class Zoomify extends TileImage {
/**
* @classdesc
* Layer source for tile data in Zoomify format (both Zoomify and Internet
* Imaging Protocol are supported).
*
* @param {module:ol/source/Zoomify~Options=} opt_options Options.
* @api
*/
constructor(opt_options) {

View File

@@ -17,6 +17,7 @@ import EventType from '../events/EventType.js';
/**
* @classdesc
* Implements a Least-Recently-Used cache where the keys do not conflict with
* Object's properties (e.g. 'hasOwnProperty' is not allowed as a key). Expiring
* items from the cache is the responsibility of the user.

View File

@@ -10,12 +10,13 @@
* @property {?} data
*/
/**
* @classdesc
* Creates an empty linked list structure.
*/
class LinkedList {
/**
* Creates an empty linked list structure.
*
* @param {boolean=} opt_circular The last item is connected to the first one,
* and the first item to the last one. Default is true.
*/

View File

@@ -12,6 +12,7 @@ export const DROP = Infinity;
/**
* @classdesc
* Priority queue.
*
* The implementation is inspired from the Closure Library's Heap class and

View File

@@ -16,13 +16,13 @@ import {isEmpty} from '../obj.js';
*/
/**
* @classdesc
* Wrapper around the RBush by Vladimir Agafonkin.
* See https://github.com/mourner/rbush.
*
* @template T
*/
class RBush {
/**
* @param {number=} opt_maxEntries Max entries.
*/

View File

@@ -21,16 +21,26 @@ import {createCanvasContext2D} from '../dom.js';
* @property {HTMLCanvasElement} image
*/
/**
* @classesc
* This class facilitates the creation of image atlases.
*
* Images added to an atlas will be rendered onto a single
* atlas canvas. The distribution of images on the canvas is
* managed with the bin packing algorithm described in:
* http://www.blackpawn.com/texts/lightmaps/
*
* @param {number} size The size in pixels of the sprite image.
* @param {number} space The space in pixels between images.
* Because texture coordinates are float values, the edges of
* images might not be completely correct (in a way that the
* edges overlap when being rendered). To avoid this we add a
* padding around each image.
*/
class Atlas {
/**
* This class facilitates the creation of image atlases.
*
* Images added to an atlas will be rendered onto a single
* atlas canvas. The distribution of images on the canvas is
* managed with the bin packing algorithm described in:
* http://www.blackpawn.com/texts/lightmaps/
*
* @param {number} size The size in pixels of the sprite image.
* @param {number} space The space in pixels between images.
* Because texture coordinates are float values, the edges of

View File

@@ -41,20 +41,22 @@ const INITIAL_ATLAS_SIZE = 256;
const MAX_ATLAS_SIZE = -1;
/**
* @classdesc
* Manages the creation of image atlases.
*
* Images added to this manager will be inserted into an atlas, which
* will be used for rendering.
* The `size` given in the constructor is the size for the first
* atlas. After that, when new atlases are created, they will have
* twice the size as the latest atlas (until `maxSize` is reached).
*
* If an application uses many images or very large images, it is recommended
* to set a higher `size` value to avoid the creation of too many atlases.
* @api
*/
class AtlasManager {
/**
* Manages the creation of image atlases.
*
* Images added to this manager will be inserted into an atlas, which
* will be used for rendering.
* The `size` given in the constructor is the size for the first
* atlas. After that, when new atlases are created, they will have
* twice the size as the latest atlas (until `maxSize` is reached).
*
* If an application uses many images or very large images, it is recommended
* to set a higher `size` value to avoid the creation of too many atlases.
*
* @api
* @param {module:ol/style/AtlasManager~Options=} opt_options Options.
*/
constructor(opt_options) {

View File

@@ -20,13 +20,14 @@ import RegularShape from '../style/RegularShape.js';
*/
/**
* @classdesc
* Set circle style for vector features.
* @api
*/
class CircleStyle extends RegularShape {
/**
* @classdesc
* Set circle style for vector features.
*
* @param {module:ol/style/Circle~Options=} opt_options Options.
* @api
*/
constructor(opt_options) {

View File

@@ -16,11 +16,11 @@ import {asString} from '../color.js';
/**
* @classdesc
* Set fill style for vector features.
* @api
*/
class Fill {
/**
* @param {module:ol/style/Fill~Options=} opt_options Options.
* @api
*/
constructor(opt_options) {

View File

@@ -52,13 +52,14 @@ import ImageStyle from '../style/Image.js';
*/
/**
* @classdesc
* Set icon style for vector features.
* @api
*/
class Icon extends ImageStyle {
/**
* @classdesc
* Set icon style for vector features.
*
* @param {module:ol/style/Icon~Options=} opt_options Options.
* @api
*/
constructor(opt_options) {
const options = opt_options || {};

Some files were not shown because too many files have changed in this diff Show More