UNPKG

maplair

Version:

JavaScript library for mobile-friendly interactive maps

40 lines (39 loc) • 1.17 kB
import { LatLngBounds } from "../geo/LatLngBounds.js"; import { LayerGroup } from "./LayerGroup.js"; //#region src/layer/FeatureGroup.js var FeatureGroup = class FeatureGroup extends LayerGroup { constructor(...args) { super(...args); this.callInitHooks(FeatureGroup); } addLayer(layer) { if (this.hasLayer(layer)) return this; layer.addEventParent(this); super.addLayer(layer); return this.fire("layeradd", { layer }); } removeLayer(layer) { if (!this.hasLayer(layer)) return this; if (layer in this._layers) layer = this._layers[layer]; layer.removeEventParent(this); super.removeLayer(layer); return this.fire("layerremove", { layer }); } setStyle(style) { return this.eachLayer((l) => l.setStyle?.(style)); } bringToFront() { return this.eachLayer((l) => l.bringToFront?.()); } bringToBack() { return this.eachLayer((l) => l.bringToBack?.()); } getBounds() { const bounds = new LatLngBounds(); for (const layer of Object.values(this._layers)) bounds.extend(layer.getBounds ? layer.getBounds() : layer.getLatLng()); return bounds; } }; //#endregion export { FeatureGroup }; //# sourceMappingURL=FeatureGroup.js.map