Merge pull request #8111 from tschaub/re-export
Re-export control constructors
This commit is contained in:
@@ -1,7 +1,6 @@
|
|||||||
import Map from '../src/ol/Map.js';
|
import Map from '../src/ol/Map.js';
|
||||||
import View from '../src/ol/View.js';
|
import View from '../src/ol/View.js';
|
||||||
import {defaults as defaultControls} from '../src/ol/control.js';
|
import {defaults as defaultControls, Attribution} from '../src/ol/control.js';
|
||||||
import Attribution from '../src/ol/control/Attribution.js';
|
|
||||||
import TileLayer from '../src/ol/layer/Tile.js';
|
import TileLayer from '../src/ol/layer/Tile.js';
|
||||||
import OSM from '../src/ol/source/OSM.js';
|
import OSM from '../src/ol/source/OSM.js';
|
||||||
|
|
||||||
|
|||||||
@@ -1,8 +1,7 @@
|
|||||||
import {inherits} from '../src/ol/index.js';
|
import {inherits} from '../src/ol/index.js';
|
||||||
import Map from '../src/ol/Map.js';
|
import Map from '../src/ol/Map.js';
|
||||||
import View from '../src/ol/View.js';
|
import View from '../src/ol/View.js';
|
||||||
import {defaults as defaultControls} from '../src/ol/control.js';
|
import {defaults as defaultControls, Control} from '../src/ol/control.js';
|
||||||
import Control from '../src/ol/control/Control.js';
|
|
||||||
import TileLayer from '../src/ol/layer/Tile.js';
|
import TileLayer from '../src/ol/layer/Tile.js';
|
||||||
import OSM from '../src/ol/source/OSM.js';
|
import OSM from '../src/ol/source/OSM.js';
|
||||||
|
|
||||||
|
|||||||
@@ -1,7 +1,6 @@
|
|||||||
import Map from '../src/ol/Map.js';
|
import Map from '../src/ol/Map.js';
|
||||||
import View from '../src/ol/View.js';
|
import View from '../src/ol/View.js';
|
||||||
import {defaults as defaultControls} from '../src/ol/control.js';
|
import {defaults as defaultControls, ScaleLine} from '../src/ol/control.js';
|
||||||
import ScaleLine from '../src/ol/control/ScaleLine.js';
|
|
||||||
import TileLayer from '../src/ol/layer/Tile.js';
|
import TileLayer from '../src/ol/layer/Tile.js';
|
||||||
import TileWMS from '../src/ol/source/TileWMS.js';
|
import TileWMS from '../src/ol/source/TileWMS.js';
|
||||||
|
|
||||||
|
|||||||
@@ -1,7 +1,6 @@
|
|||||||
import Map from '../src/ol/Map.js';
|
import Map from '../src/ol/Map.js';
|
||||||
import View from '../src/ol/View.js';
|
import View from '../src/ol/View.js';
|
||||||
import {defaults as defaultControls} from '../src/ol/control.js';
|
import {defaults as defaultControls, FullScreen} from '../src/ol/control.js';
|
||||||
import FullScreen from '../src/ol/control/FullScreen.js';
|
|
||||||
import {defaults as defaultInteractions} from '../src/ol/interaction.js';
|
import {defaults as defaultInteractions} from '../src/ol/interaction.js';
|
||||||
import DragRotateAndZoom from '../src/ol/interaction/DragRotateAndZoom.js';
|
import DragRotateAndZoom from '../src/ol/interaction/DragRotateAndZoom.js';
|
||||||
import TileLayer from '../src/ol/layer/Tile.js';
|
import TileLayer from '../src/ol/layer/Tile.js';
|
||||||
|
|||||||
@@ -1,7 +1,6 @@
|
|||||||
import Map from '../src/ol/Map.js';
|
import Map from '../src/ol/Map.js';
|
||||||
import View from '../src/ol/View.js';
|
import View from '../src/ol/View.js';
|
||||||
import {defaults as defaultControls} from '../src/ol/control.js';
|
import {defaults as defaultControls, FullScreen} from '../src/ol/control.js';
|
||||||
import FullScreen from '../src/ol/control/FullScreen.js';
|
|
||||||
import TileLayer from '../src/ol/layer/Tile.js';
|
import TileLayer from '../src/ol/layer/Tile.js';
|
||||||
import OSM from '../src/ol/source/OSM.js';
|
import OSM from '../src/ol/source/OSM.js';
|
||||||
|
|
||||||
|
|||||||
@@ -1,7 +1,6 @@
|
|||||||
import Map from '../src/ol/Map.js';
|
import Map from '../src/ol/Map.js';
|
||||||
import View from '../src/ol/View.js';
|
import View from '../src/ol/View.js';
|
||||||
import {defaults as defaultControls} from '../src/ol/control.js';
|
import {defaults as defaultControls, FullScreen} from '../src/ol/control.js';
|
||||||
import FullScreen from '../src/ol/control/FullScreen.js';
|
|
||||||
import TileLayer from '../src/ol/layer/Tile.js';
|
import TileLayer from '../src/ol/layer/Tile.js';
|
||||||
import BingMaps from '../src/ol/source/BingMaps.js';
|
import BingMaps from '../src/ol/source/BingMaps.js';
|
||||||
|
|
||||||
|
|||||||
@@ -1,7 +1,6 @@
|
|||||||
import Map from '../src/ol/Map.js';
|
import Map from '../src/ol/Map.js';
|
||||||
import View from '../src/ol/View.js';
|
import View from '../src/ol/View.js';
|
||||||
import {defaults as defaultControls} from '../src/ol/control.js';
|
import {defaults as defaultControls, ZoomToExtent} from '../src/ol/control.js';
|
||||||
import ZoomToExtent from '../src/ol/control/ZoomToExtent.js';
|
|
||||||
import TileLayer from '../src/ol/layer/Tile.js';
|
import TileLayer from '../src/ol/layer/Tile.js';
|
||||||
import OSM from '../src/ol/source/OSM.js';
|
import OSM from '../src/ol/source/OSM.js';
|
||||||
|
|
||||||
|
|||||||
@@ -1,7 +1,6 @@
|
|||||||
import Map from '../src/ol/Map.js';
|
import Map from '../src/ol/Map.js';
|
||||||
import View from '../src/ol/View.js';
|
import View from '../src/ol/View.js';
|
||||||
import {defaults as defaultControls} from '../src/ol/control.js';
|
import {defaults as defaultControls, OverviewMap} from '../src/ol/control.js';
|
||||||
import OverviewMap from '../src/ol/control/OverviewMap.js';
|
|
||||||
import {defaults as defaultInteractions} from '../src/ol/interaction.js';
|
import {defaults as defaultInteractions} from '../src/ol/interaction.js';
|
||||||
import DragRotateAndZoom from '../src/ol/interaction/DragRotateAndZoom.js';
|
import DragRotateAndZoom from '../src/ol/interaction/DragRotateAndZoom.js';
|
||||||
import TileLayer from '../src/ol/layer/Tile.js';
|
import TileLayer from '../src/ol/layer/Tile.js';
|
||||||
|
|||||||
@@ -1,7 +1,6 @@
|
|||||||
import Map from '../src/ol/Map.js';
|
import Map from '../src/ol/Map.js';
|
||||||
import View from '../src/ol/View.js';
|
import View from '../src/ol/View.js';
|
||||||
import {defaults as defaultControls} from '../src/ol/control.js';
|
import {defaults as defaultControls, OverviewMap} from '../src/ol/control.js';
|
||||||
import OverviewMap from '../src/ol/control/OverviewMap.js';
|
|
||||||
import TileLayer from '../src/ol/layer/Tile.js';
|
import TileLayer from '../src/ol/layer/Tile.js';
|
||||||
import OSM from '../src/ol/source/OSM.js';
|
import OSM from '../src/ol/source/OSM.js';
|
||||||
|
|
||||||
|
|||||||
@@ -1,7 +1,6 @@
|
|||||||
import Map from '../src/ol/Map.js';
|
import Map from '../src/ol/Map.js';
|
||||||
import View from '../src/ol/View.js';
|
import View from '../src/ol/View.js';
|
||||||
import {defaults as defaultControls} from '../src/ol/control.js';
|
import {defaults as defaultControls, ScaleLine} from '../src/ol/control.js';
|
||||||
import ScaleLine from '../src/ol/control/ScaleLine.js';
|
|
||||||
import TileLayer from '../src/ol/layer/Tile.js';
|
import TileLayer from '../src/ol/layer/Tile.js';
|
||||||
import OSM from '../src/ol/source/OSM.js';
|
import OSM from '../src/ol/source/OSM.js';
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
import Map from '../src/ol/Map.js';
|
import Map from '../src/ol/Map.js';
|
||||||
import View from '../src/ol/View.js';
|
import View from '../src/ol/View.js';
|
||||||
import ScaleLine from '../src/ol/control/ScaleLine.js';
|
import {ScaleLine} from '../src/ol/control.js';
|
||||||
import TileLayer from '../src/ol/layer/Tile.js';
|
import TileLayer from '../src/ol/layer/Tile.js';
|
||||||
import {fromLonLat, transformExtent} from '../src/ol/proj.js';
|
import {fromLonLat, transformExtent} from '../src/ol/proj.js';
|
||||||
import {register} from '../src/ol/proj/proj4.js';
|
import {register} from '../src/ol/proj/proj4.js';
|
||||||
|
|||||||
@@ -1,7 +1,6 @@
|
|||||||
import Map from '../src/ol/Map.js';
|
import Map from '../src/ol/Map.js';
|
||||||
import View from '../src/ol/View.js';
|
import View from '../src/ol/View.js';
|
||||||
import {defaults as defaultControls} from '../src/ol/control.js';
|
import {defaults as defaultControls, ScaleLine} from '../src/ol/control.js';
|
||||||
import ScaleLine from '../src/ol/control/ScaleLine.js';
|
|
||||||
import TileLayer from '../src/ol/layer/Tile.js';
|
import TileLayer from '../src/ol/layer/Tile.js';
|
||||||
import {addProjection, addCoordinateTransforms, transform} from '../src/ol/proj.js';
|
import {addProjection, addCoordinateTransforms, transform} from '../src/ol/proj.js';
|
||||||
import Projection from '../src/ol/proj/Projection.js';
|
import Projection from '../src/ol/proj/Projection.js';
|
||||||
|
|||||||
@@ -1,7 +1,6 @@
|
|||||||
import Map from '../src/ol/Map.js';
|
import Map from '../src/ol/Map.js';
|
||||||
import View from '../src/ol/View.js';
|
import View from '../src/ol/View.js';
|
||||||
import {defaults as defaultControls} from '../src/ol/control.js';
|
import {defaults as defaultControls, ScaleLine} from '../src/ol/control.js';
|
||||||
import ScaleLine from '../src/ol/control/ScaleLine.js';
|
|
||||||
import ImageLayer from '../src/ol/layer/Image.js';
|
import ImageLayer from '../src/ol/layer/Image.js';
|
||||||
import {fromLonLat} from '../src/ol/proj.js';
|
import {fromLonLat} from '../src/ol/proj.js';
|
||||||
import Projection from '../src/ol/proj/Projection.js';
|
import Projection from '../src/ol/proj/Projection.js';
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
import Map from '../src/ol/Map.js';
|
import Map from '../src/ol/Map.js';
|
||||||
import View from '../src/ol/View.js';
|
import View from '../src/ol/View.js';
|
||||||
import ZoomSlider from '../src/ol/control/ZoomSlider.js';
|
import {ZoomSlider} from '../src/ol/control.js';
|
||||||
import TileLayer from '../src/ol/layer/Tile.js';
|
import TileLayer from '../src/ol/layer/Tile.js';
|
||||||
import OSM from '../src/ol/source/OSM.js';
|
import OSM from '../src/ol/source/OSM.js';
|
||||||
|
|
||||||
|
|||||||
+2
-1
@@ -84,5 +84,6 @@
|
|||||||
},
|
},
|
||||||
"eslintConfig": {
|
"eslintConfig": {
|
||||||
"extends": "openlayers"
|
"extends": "openlayers"
|
||||||
}
|
},
|
||||||
|
"sideEffects": false
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -6,6 +6,16 @@ import Attribution from './control/Attribution.js';
|
|||||||
import Rotate from './control/Rotate.js';
|
import Rotate from './control/Rotate.js';
|
||||||
import Zoom from './control/Zoom.js';
|
import Zoom from './control/Zoom.js';
|
||||||
|
|
||||||
|
export {default as Attribution} from './control/Attribution.js';
|
||||||
|
export {default as Control} from './control/Control.js';
|
||||||
|
export {default as FullScreen} from './control/FullScreen.js';
|
||||||
|
export {default as OverviewMap} from './control/OverviewMap.js';
|
||||||
|
export {default as Rotate} from './control/Rotate.js';
|
||||||
|
export {default as ScaleLine} from './control/ScaleLine.js';
|
||||||
|
export {default as Zoom} from './control/Zoom.js';
|
||||||
|
export {default as ZoomSlider} from './control/ZoomSlider.js';
|
||||||
|
export {default as ZoomToExtent} from './control/ZoomToExtent.js';
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @typedef {Object} DefaultsOptions
|
* @typedef {Object} DefaultsOptions
|
||||||
|
|||||||
+35
-23
@@ -5,17 +5,29 @@ import {inherits} from '../index.js';
|
|||||||
import {getChangeEventType} from '../Object.js';
|
import {getChangeEventType} from '../Object.js';
|
||||||
import {assert} from '../asserts.js';
|
import {assert} from '../asserts.js';
|
||||||
import Control from '../control/Control.js';
|
import Control from '../control/Control.js';
|
||||||
import ScaleLineUnits from '../control/ScaleLineUnits.js';
|
|
||||||
import {CLASS_UNSELECTABLE} from '../css.js';
|
import {CLASS_UNSELECTABLE} from '../css.js';
|
||||||
import {listen} from '../events.js';
|
import {listen} from '../events.js';
|
||||||
import {getPointResolution, METERS_PER_UNIT} from '../proj.js';
|
import {getPointResolution, METERS_PER_UNIT} from '../proj.js';
|
||||||
import Units from '../proj/Units.js';
|
import ProjUnits from '../proj/Units.js';
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @type {string}
|
* @type {string}
|
||||||
*/
|
*/
|
||||||
const UNITS = 'units';
|
const UNITS_PROP = 'units';
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Units for the scale line. Supported values are `'degrees'`, `'imperial'`,
|
||||||
|
* `'nautical'`, `'metric'`, `'us'`.
|
||||||
|
* @enum {string}
|
||||||
|
*/
|
||||||
|
export const Units = {
|
||||||
|
DEGREES: 'degrees',
|
||||||
|
IMPERIAL: 'imperial',
|
||||||
|
NAUTICAL: 'nautical',
|
||||||
|
METRIC: 'metric',
|
||||||
|
US: 'us'
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -33,7 +45,7 @@ const LEADING_DIGITS = [1, 2, 5];
|
|||||||
* should be re-rendered. This is called in a `requestAnimationFrame` callback.
|
* should be re-rendered. This is called in a `requestAnimationFrame` callback.
|
||||||
* @property {Element|string} [target] Specify a target if you want the control
|
* @property {Element|string} [target] Specify a target if you want the control
|
||||||
* to be rendered outside of the map's viewport.
|
* to be rendered outside of the map's viewport.
|
||||||
* @property {module:ol/control/ScaleLineUnits~ScaleLineUnits|string} [units='metric'] Units.
|
* @property {module:ol/control/ScaleLine~Units|string} [units='metric'] Units.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
||||||
@@ -110,11 +122,11 @@ const ScaleLine = function(opt_options) {
|
|||||||
});
|
});
|
||||||
|
|
||||||
listen(
|
listen(
|
||||||
this, getChangeEventType(UNITS),
|
this, getChangeEventType(UNITS_PROP),
|
||||||
this.handleUnitsChanged_, this);
|
this.handleUnitsChanged_, this);
|
||||||
|
|
||||||
this.setUnits(/** @type {module:ol/control/ScaleLineUnits~ScaleLineUnits} */ (options.units) ||
|
this.setUnits(/** @type {module:ol/control/ScaleLine~Units} */ (options.units) ||
|
||||||
ScaleLineUnits.METRIC);
|
Units.METRIC);
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -123,13 +135,13 @@ inherits(ScaleLine, Control);
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* Return the units to use in the scale line.
|
* Return the units to use in the scale line.
|
||||||
* @return {module:ol/control/ScaleLineUnits~ScaleLineUnits|undefined} The units
|
* @return {module:ol/control/ScaleLine~Units|undefined} The units
|
||||||
* to use in the scale line.
|
* to use in the scale line.
|
||||||
* @observable
|
* @observable
|
||||||
* @api
|
* @api
|
||||||
*/
|
*/
|
||||||
ScaleLine.prototype.getUnits = function() {
|
ScaleLine.prototype.getUnits = function() {
|
||||||
return /** @type {module:ol/control/ScaleLineUnits~ScaleLineUnits|undefined} */ (this.get(UNITS));
|
return /** @type {module:ol/control/ScaleLine~Units|undefined} */ (this.get(UNITS_PROP));
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
@@ -160,12 +172,12 @@ ScaleLine.prototype.handleUnitsChanged_ = function() {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* Set the units to use in the scale line.
|
* Set the units to use in the scale line.
|
||||||
* @param {module:ol/control/ScaleLineUnits~ScaleLineUnits} units The units to use in the scale line.
|
* @param {module:ol/control/ScaleLine~Units} units The units to use in the scale line.
|
||||||
* @observable
|
* @observable
|
||||||
* @api
|
* @api
|
||||||
*/
|
*/
|
||||||
ScaleLine.prototype.setUnits = function(units) {
|
ScaleLine.prototype.setUnits = function(units) {
|
||||||
this.set(UNITS, units);
|
this.set(UNITS_PROP, units);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
@@ -186,21 +198,21 @@ ScaleLine.prototype.updateElement_ = function() {
|
|||||||
const center = viewState.center;
|
const center = viewState.center;
|
||||||
const projection = viewState.projection;
|
const projection = viewState.projection;
|
||||||
const units = this.getUnits();
|
const units = this.getUnits();
|
||||||
const pointResolutionUnits = units == ScaleLineUnits.DEGREES ?
|
const pointResolutionUnits = units == Units.DEGREES ?
|
||||||
Units.DEGREES :
|
ProjUnits.DEGREES :
|
||||||
Units.METERS;
|
ProjUnits.METERS;
|
||||||
let pointResolution =
|
let pointResolution =
|
||||||
getPointResolution(projection, viewState.resolution, center, pointResolutionUnits);
|
getPointResolution(projection, viewState.resolution, center, pointResolutionUnits);
|
||||||
if (projection.getUnits() != Units.DEGREES && projection.getMetersPerUnit()
|
if (projection.getUnits() != ProjUnits.DEGREES && projection.getMetersPerUnit()
|
||||||
&& pointResolutionUnits == Units.METERS) {
|
&& pointResolutionUnits == ProjUnits.METERS) {
|
||||||
pointResolution *= projection.getMetersPerUnit();
|
pointResolution *= projection.getMetersPerUnit();
|
||||||
}
|
}
|
||||||
|
|
||||||
let nominalCount = this.minWidth_ * pointResolution;
|
let nominalCount = this.minWidth_ * pointResolution;
|
||||||
let suffix = '';
|
let suffix = '';
|
||||||
if (units == ScaleLineUnits.DEGREES) {
|
if (units == Units.DEGREES) {
|
||||||
const metersPerDegree = METERS_PER_UNIT[Units.DEGREES];
|
const metersPerDegree = METERS_PER_UNIT[ProjUnits.DEGREES];
|
||||||
if (projection.getUnits() == Units.DEGREES) {
|
if (projection.getUnits() == ProjUnits.DEGREES) {
|
||||||
nominalCount *= metersPerDegree;
|
nominalCount *= metersPerDegree;
|
||||||
} else {
|
} else {
|
||||||
pointResolution /= metersPerDegree;
|
pointResolution /= metersPerDegree;
|
||||||
@@ -214,7 +226,7 @@ ScaleLine.prototype.updateElement_ = function() {
|
|||||||
} else {
|
} else {
|
||||||
suffix = '\u00b0'; // degrees
|
suffix = '\u00b0'; // degrees
|
||||||
}
|
}
|
||||||
} else if (units == ScaleLineUnits.IMPERIAL) {
|
} else if (units == Units.IMPERIAL) {
|
||||||
if (nominalCount < 0.9144) {
|
if (nominalCount < 0.9144) {
|
||||||
suffix = 'in';
|
suffix = 'in';
|
||||||
pointResolution /= 0.0254;
|
pointResolution /= 0.0254;
|
||||||
@@ -225,10 +237,10 @@ ScaleLine.prototype.updateElement_ = function() {
|
|||||||
suffix = 'mi';
|
suffix = 'mi';
|
||||||
pointResolution /= 1609.344;
|
pointResolution /= 1609.344;
|
||||||
}
|
}
|
||||||
} else if (units == ScaleLineUnits.NAUTICAL) {
|
} else if (units == Units.NAUTICAL) {
|
||||||
pointResolution /= 1852;
|
pointResolution /= 1852;
|
||||||
suffix = 'nm';
|
suffix = 'nm';
|
||||||
} else if (units == ScaleLineUnits.METRIC) {
|
} else if (units == Units.METRIC) {
|
||||||
if (nominalCount < 0.001) {
|
if (nominalCount < 0.001) {
|
||||||
suffix = 'μm';
|
suffix = 'μm';
|
||||||
pointResolution *= 1000000;
|
pointResolution *= 1000000;
|
||||||
@@ -241,7 +253,7 @@ ScaleLine.prototype.updateElement_ = function() {
|
|||||||
suffix = 'km';
|
suffix = 'km';
|
||||||
pointResolution /= 1000;
|
pointResolution /= 1000;
|
||||||
}
|
}
|
||||||
} else if (units == ScaleLineUnits.US) {
|
} else if (units == Units.US) {
|
||||||
if (nominalCount < 0.9144) {
|
if (nominalCount < 0.9144) {
|
||||||
suffix = 'in';
|
suffix = 'in';
|
||||||
pointResolution *= 39.37;
|
pointResolution *= 39.37;
|
||||||
|
|||||||
@@ -1,16 +0,0 @@
|
|||||||
/**
|
|
||||||
* @module ol/control/ScaleLineUnits
|
|
||||||
*/
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Units for the scale line. Supported values are `'degrees'`, `'imperial'`,
|
|
||||||
* `'nautical'`, `'metric'`, `'us'`.
|
|
||||||
* @enum {string}
|
|
||||||
*/
|
|
||||||
export default {
|
|
||||||
DEGREES: 'degrees',
|
|
||||||
IMPERIAL: 'imperial',
|
|
||||||
NAUTICAL: 'nautical',
|
|
||||||
METRIC: 'metric',
|
|
||||||
US: 'us'
|
|
||||||
};
|
|
||||||
Reference in New Issue
Block a user