330 lines
9.2 KiB
JavaScript
330 lines
9.2 KiB
JavaScript
import {
|
|
assert
|
|
} from "./chunk-QFCIXVZ3.js";
|
|
import {
|
|
clamp
|
|
} from "./chunk-54BTDBAD.js";
|
|
import {
|
|
Object_default,
|
|
abstract
|
|
} from "./chunk-Q5ZULJHM.js";
|
|
|
|
// node_modules/ol/layer/Property.js
|
|
var Property_default = {
|
|
OPACITY: "opacity",
|
|
VISIBLE: "visible",
|
|
EXTENT: "extent",
|
|
Z_INDEX: "zIndex",
|
|
MAX_RESOLUTION: "maxResolution",
|
|
MIN_RESOLUTION: "minResolution",
|
|
MAX_ZOOM: "maxZoom",
|
|
MIN_ZOOM: "minZoom",
|
|
SOURCE: "source",
|
|
MAP: "map"
|
|
};
|
|
|
|
// node_modules/ol/layer/Base.js
|
|
var BaseLayer = class extends Object_default {
|
|
/**
|
|
* @param {Options} options Layer options.
|
|
*/
|
|
constructor(options) {
|
|
super();
|
|
this.on;
|
|
this.once;
|
|
this.un;
|
|
this.background_ = options.background;
|
|
const properties = Object.assign({}, options);
|
|
if (typeof options.properties === "object") {
|
|
delete properties.properties;
|
|
Object.assign(properties, options.properties);
|
|
}
|
|
properties[Property_default.OPACITY] = options.opacity !== void 0 ? options.opacity : 1;
|
|
assert(
|
|
typeof properties[Property_default.OPACITY] === "number",
|
|
"Layer opacity must be a number"
|
|
);
|
|
properties[Property_default.VISIBLE] = options.visible !== void 0 ? options.visible : true;
|
|
properties[Property_default.Z_INDEX] = options.zIndex;
|
|
properties[Property_default.MAX_RESOLUTION] = options.maxResolution !== void 0 ? options.maxResolution : Infinity;
|
|
properties[Property_default.MIN_RESOLUTION] = options.minResolution !== void 0 ? options.minResolution : 0;
|
|
properties[Property_default.MIN_ZOOM] = options.minZoom !== void 0 ? options.minZoom : -Infinity;
|
|
properties[Property_default.MAX_ZOOM] = options.maxZoom !== void 0 ? options.maxZoom : Infinity;
|
|
this.className_ = properties.className !== void 0 ? properties.className : "ol-layer";
|
|
delete properties.className;
|
|
this.setProperties(properties);
|
|
this.state_ = null;
|
|
}
|
|
/**
|
|
* Get the background for this layer.
|
|
* @return {BackgroundColor|false} Layer background.
|
|
*/
|
|
getBackground() {
|
|
return this.background_;
|
|
}
|
|
/**
|
|
* @return {string} CSS class name.
|
|
*/
|
|
getClassName() {
|
|
return this.className_;
|
|
}
|
|
/**
|
|
* This method is not meant to be called by layers or layer renderers because the state
|
|
* is incorrect if the layer is included in a layer group.
|
|
*
|
|
* @param {boolean} [managed] Layer is managed.
|
|
* @return {import("./Layer.js").State} Layer state.
|
|
*/
|
|
getLayerState(managed) {
|
|
const state = this.state_ || /** @type {?} */
|
|
{
|
|
layer: this,
|
|
managed: managed === void 0 ? true : managed
|
|
};
|
|
const zIndex = this.getZIndex();
|
|
state.opacity = clamp(Math.round(this.getOpacity() * 100) / 100, 0, 1);
|
|
state.visible = this.getVisible();
|
|
state.extent = this.getExtent();
|
|
state.zIndex = zIndex === void 0 && !state.managed ? Infinity : zIndex;
|
|
state.maxResolution = this.getMaxResolution();
|
|
state.minResolution = Math.max(this.getMinResolution(), 0);
|
|
state.minZoom = this.getMinZoom();
|
|
state.maxZoom = this.getMaxZoom();
|
|
this.state_ = state;
|
|
return state;
|
|
}
|
|
/**
|
|
* @abstract
|
|
* @param {Array<import("./Layer.js").default>} [array] Array of layers (to be
|
|
* modified in place).
|
|
* @return {Array<import("./Layer.js").default>} Array of layers.
|
|
*/
|
|
getLayersArray(array) {
|
|
return abstract();
|
|
}
|
|
/**
|
|
* @abstract
|
|
* @param {Array<import("./Layer.js").State>} [states] Optional list of layer
|
|
* states (to be modified in place).
|
|
* @return {Array<import("./Layer.js").State>} List of layer states.
|
|
*/
|
|
getLayerStatesArray(states) {
|
|
return abstract();
|
|
}
|
|
/**
|
|
* Return the {@link module:ol/extent~Extent extent} of the layer or `undefined` if it
|
|
* will be visible regardless of extent.
|
|
* @return {import("../extent.js").Extent|undefined} The layer extent.
|
|
* @observable
|
|
* @api
|
|
*/
|
|
getExtent() {
|
|
return (
|
|
/** @type {import("../extent.js").Extent|undefined} */
|
|
this.get(Property_default.EXTENT)
|
|
);
|
|
}
|
|
/**
|
|
* Return the maximum resolution of the layer. Returns Infinity if
|
|
* the layer has no maximum resolution set.
|
|
* @return {number} The maximum resolution of the layer.
|
|
* @observable
|
|
* @api
|
|
*/
|
|
getMaxResolution() {
|
|
return (
|
|
/** @type {number} */
|
|
this.get(Property_default.MAX_RESOLUTION)
|
|
);
|
|
}
|
|
/**
|
|
* Return the minimum resolution of the layer. Returns 0 if
|
|
* the layer has no minimum resolution set.
|
|
* @return {number} The minimum resolution of the layer.
|
|
* @observable
|
|
* @api
|
|
*/
|
|
getMinResolution() {
|
|
return (
|
|
/** @type {number} */
|
|
this.get(Property_default.MIN_RESOLUTION)
|
|
);
|
|
}
|
|
/**
|
|
* Return the minimum zoom level of the layer. Returns -Infinity if
|
|
* the layer has no minimum zoom set.
|
|
* @return {number} The minimum zoom level of the layer.
|
|
* @observable
|
|
* @api
|
|
*/
|
|
getMinZoom() {
|
|
return (
|
|
/** @type {number} */
|
|
this.get(Property_default.MIN_ZOOM)
|
|
);
|
|
}
|
|
/**
|
|
* Return the maximum zoom level of the layer. Returns Infinity if
|
|
* the layer has no maximum zoom set.
|
|
* @return {number} The maximum zoom level of the layer.
|
|
* @observable
|
|
* @api
|
|
*/
|
|
getMaxZoom() {
|
|
return (
|
|
/** @type {number} */
|
|
this.get(Property_default.MAX_ZOOM)
|
|
);
|
|
}
|
|
/**
|
|
* Return the opacity of the layer (between 0 and 1).
|
|
* @return {number} The opacity of the layer.
|
|
* @observable
|
|
* @api
|
|
*/
|
|
getOpacity() {
|
|
return (
|
|
/** @type {number} */
|
|
this.get(Property_default.OPACITY)
|
|
);
|
|
}
|
|
/**
|
|
* @abstract
|
|
* @return {import("../source/Source.js").State} Source state.
|
|
*/
|
|
getSourceState() {
|
|
return abstract();
|
|
}
|
|
/**
|
|
* Return the value of this layer's `visible` property. To find out whether the layer
|
|
* is visible on a map, use `isVisible()` instead.
|
|
* @return {boolean} The value of the `visible` property of the layer.
|
|
* @observable
|
|
* @api
|
|
*/
|
|
getVisible() {
|
|
return (
|
|
/** @type {boolean} */
|
|
this.get(Property_default.VISIBLE)
|
|
);
|
|
}
|
|
/**
|
|
* Return the Z-index of the layer, which is used to order layers before
|
|
* rendering. Returns undefined if the layer is unmanaged.
|
|
* @return {number|undefined} The Z-index of the layer.
|
|
* @observable
|
|
* @api
|
|
*/
|
|
getZIndex() {
|
|
return (
|
|
/** @type {number|undefined} */
|
|
this.get(Property_default.Z_INDEX)
|
|
);
|
|
}
|
|
/**
|
|
* Sets the background color.
|
|
* @param {BackgroundColor} [background] Background color.
|
|
*/
|
|
setBackground(background) {
|
|
this.background_ = background;
|
|
this.changed();
|
|
}
|
|
/**
|
|
* Set the extent at which the layer is visible. If `undefined`, the layer
|
|
* will be visible at all extents.
|
|
* @param {import("../extent.js").Extent|undefined} extent The extent of the layer.
|
|
* @observable
|
|
* @api
|
|
*/
|
|
setExtent(extent) {
|
|
this.set(Property_default.EXTENT, extent);
|
|
}
|
|
/**
|
|
* Set the maximum resolution at which the layer is visible.
|
|
* @param {number} maxResolution The maximum resolution of the layer.
|
|
* @observable
|
|
* @api
|
|
*/
|
|
setMaxResolution(maxResolution) {
|
|
this.set(Property_default.MAX_RESOLUTION, maxResolution);
|
|
}
|
|
/**
|
|
* Set the minimum resolution at which the layer is visible.
|
|
* @param {number} minResolution The minimum resolution of the layer.
|
|
* @observable
|
|
* @api
|
|
*/
|
|
setMinResolution(minResolution) {
|
|
this.set(Property_default.MIN_RESOLUTION, minResolution);
|
|
}
|
|
/**
|
|
* Set the maximum zoom (exclusive) at which the layer is visible.
|
|
* Note that the zoom levels for layer visibility are based on the
|
|
* view zoom level, which may be different from a tile source zoom level.
|
|
* @param {number} maxZoom The maximum zoom of the layer.
|
|
* @observable
|
|
* @api
|
|
*/
|
|
setMaxZoom(maxZoom) {
|
|
this.set(Property_default.MAX_ZOOM, maxZoom);
|
|
}
|
|
/**
|
|
* Set the minimum zoom (inclusive) at which the layer is visible.
|
|
* Note that the zoom levels for layer visibility are based on the
|
|
* view zoom level, which may be different from a tile source zoom level.
|
|
* @param {number} minZoom The minimum zoom of the layer.
|
|
* @observable
|
|
* @api
|
|
*/
|
|
setMinZoom(minZoom) {
|
|
this.set(Property_default.MIN_ZOOM, minZoom);
|
|
}
|
|
/**
|
|
* Set the opacity of the layer, allowed values range from 0 to 1.
|
|
* @param {number} opacity The opacity of the layer.
|
|
* @observable
|
|
* @api
|
|
*/
|
|
setOpacity(opacity) {
|
|
assert(typeof opacity === "number", "Layer opacity must be a number");
|
|
this.set(Property_default.OPACITY, opacity);
|
|
}
|
|
/**
|
|
* Set the visibility of the layer (`true` or `false`).
|
|
* @param {boolean} visible The visibility of the layer.
|
|
* @observable
|
|
* @api
|
|
*/
|
|
setVisible(visible) {
|
|
this.set(Property_default.VISIBLE, visible);
|
|
}
|
|
/**
|
|
* Set Z-index of the layer, which is used to order layers before rendering.
|
|
* The default Z-index is 0.
|
|
* @param {number} zindex The z-index of the layer.
|
|
* @observable
|
|
* @api
|
|
*/
|
|
setZIndex(zindex) {
|
|
this.set(Property_default.Z_INDEX, zindex);
|
|
}
|
|
/**
|
|
* Clean up.
|
|
* @override
|
|
*/
|
|
disposeInternal() {
|
|
if (this.state_) {
|
|
this.state_.layer = null;
|
|
this.state_ = null;
|
|
}
|
|
super.disposeInternal();
|
|
}
|
|
};
|
|
var Base_default = BaseLayer;
|
|
|
|
export {
|
|
Property_default,
|
|
Base_default
|
|
};
|
|
//# sourceMappingURL=chunk-AYBYZSAV.js.map
|