UNPKG

angular-leaflet

Version:

Collection of angular components to build map views faster and with minimal configuration using the most popular library **LeafletJS**.

144 lines 9.72 kB
/** * @fileoverview added by tsickle * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ import * as tslib_1 from "tslib"; import { Component, forwardRef, Input } from '@angular/core'; import { imageOverlay, latLngBounds } from 'leaflet'; import { BaseLayer } from '../core/base-layer'; var ImageOverlayComponent = /** @class */ (function (_super) { tslib_1.__extends(ImageOverlayComponent, _super); function ImageOverlayComponent() { return _super !== null && _super.apply(this, arguments) || this; } Object.defineProperty(ImageOverlayComponent.prototype, "src", { set: /** * @param {?} value * @return {?} */ function (value) { this._url = value; if (this.layerRef) { this.layerRef.setUrl(value); } else { this.prepareLayer(); } }, enumerable: true, configurable: true }); Object.defineProperty(ImageOverlayComponent.prototype, "width", { set: /** * @param {?} value * @return {?} */ function (value) { this._width = value; if (this.layerRef) { this.layerRef.setBounds(this.prepareBounds(this._width, this._height)); } else { this.prepareLayer(); } }, enumerable: true, configurable: true }); Object.defineProperty(ImageOverlayComponent.prototype, "height", { set: /** * @param {?} value * @return {?} */ function (value) { this._height = value; if (this.layerRef) { this.layerRef.setBounds(this.prepareBounds(this._width, this._height)); } else { this.prepareLayer(); } }, enumerable: true, configurable: true }); /** * @param {?} map * @return {?} */ ImageOverlayComponent.prototype.addTo = /** * @param {?} map * @return {?} */ function (map) { _super.prototype.addTo.call(this, map); this.prepareLayer(); }; /** * @return {?} */ ImageOverlayComponent.prototype.prepareLayer = /** * @return {?} */ function () { if (this.mapRef && this._url && this._height && this._width) { this.layerRef = imageOverlay(this._url, this.prepareBounds(this._width, this._height)); this.mapRef.addLayer(this.layerRef); this.initHandlers(); } }; /** * @private * @param {?} width * @param {?} height * @return {?} */ ImageOverlayComponent.prototype.prepareBounds = /** * @private * @param {?} width * @param {?} height * @return {?} */ function (width, height) { /** @type {?} */ var southWest = ((/** @type {?} */ (this.mapRef))).unproject([0, height * 2], 1); /** @type {?} */ var northEast = ((/** @type {?} */ (this.mapRef))).unproject([width * 2, 0], 1); return latLngBounds(southWest, northEast); }; ImageOverlayComponent.decorators = [ { type: Component, args: [{ selector: 'ngl-image-overlay', template: '', providers: [{ provide: BaseLayer, useExisting: forwardRef((/** * @return {?} */ function () { return ImageOverlayComponent; })) }] }] } ]; ImageOverlayComponent.propDecorators = { src: [{ type: Input }], width: [{ type: Input }], height: [{ type: Input }] }; return ImageOverlayComponent; }(BaseLayer)); export { ImageOverlayComponent }; if (false) { /** * @type {?} * @private */ ImageOverlayComponent.prototype._url; /** * @type {?} * @private */ ImageOverlayComponent.prototype._width; /** * @type {?} * @private */ ImageOverlayComponent.prototype._height; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1hZ2Utb3ZlcmxheS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9hbmd1bGFyLWxlYWZsZXQvIiwic291cmNlcyI6WyJpbWFnZS1vdmVybGF5L2ltYWdlLW92ZXJsYXkuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzdELE9BQU8sRUFBRSxZQUFZLEVBQThCLFlBQVksRUFBbUIsTUFBTSxTQUFTLENBQUM7QUFDbEcsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBRS9DO0lBSzJDLGlEQUF1QjtJQUxsRTs7SUF3REEsQ0FBQztJQWxEQyxzQkFBYSxzQ0FBRzs7Ozs7UUFBaEIsVUFBaUIsS0FBYTtZQUM1QixJQUFJLENBQUMsSUFBSSxHQUFHLEtBQUssQ0FBQztZQUNsQixJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUU7Z0JBQ2pCLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO2FBQzdCO2lCQUFNO2dCQUNMLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQzthQUNyQjtRQUNILENBQUM7OztPQUFBO0lBRUQsc0JBQWEsd0NBQUs7Ozs7O1FBQWxCLFVBQW1CLEtBQWE7WUFDOUIsSUFBSSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUM7WUFDcEIsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFO2dCQUNqQixJQUFJLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7YUFDeEU7aUJBQU07Z0JBQ0wsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO2FBQ3JCO1FBQ0gsQ0FBQzs7O09BQUE7SUFFRCxzQkFBYSx5Q0FBTTs7Ozs7UUFBbkIsVUFBb0IsS0FBYTtZQUMvQixJQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQztZQUNyQixJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUU7Z0JBQ2pCLElBQUksQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQzthQUN4RTtpQkFBTTtnQkFDTCxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7YUFDckI7UUFDSCxDQUFDOzs7T0FBQTs7Ozs7SUFNRCxxQ0FBSzs7OztJQUFMLFVBQU0sR0FBcUI7UUFDekIsaUJBQU0sS0FBSyxZQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ2pCLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUN0QixDQUFDOzs7O0lBRUQsNENBQVk7OztJQUFaO1FBQ0UsSUFBSSxJQUFJLENBQUMsTUFBTSxJQUFJLElBQUksQ0FBQyxJQUFJLElBQUksSUFBSSxDQUFDLE9BQU8sSUFBSSxJQUFJLENBQUMsTUFBTSxFQUFFO1lBQzNELElBQUksQ0FBQyxRQUFRLEdBQUcsWUFBWSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO1lBQ3ZGLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUNwQyxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7U0FDckI7SUFDSCxDQUFDOzs7Ozs7O0lBRU8sNkNBQWE7Ozs7OztJQUFyQixVQUFzQixLQUFhLEVBQUUsTUFBYzs7WUFDM0MsU0FBUyxHQUFHLENBQUMsbUJBQUEsSUFBSSxDQUFDLE1BQU0sRUFBTyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLE1BQU0sR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUM7O1lBQ2xFLFNBQVMsR0FBRyxDQUFDLG1CQUFBLElBQUksQ0FBQyxNQUFNLEVBQU8sQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEtBQUssR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBRS9ELE9BQU8sWUFBWSxDQUFDLFNBQVMsRUFBRSxTQUFTLENBQUMsQ0FBQztJQUM1QyxDQUFDOztnQkF2REYsU0FBUyxTQUFDO29CQUNULFFBQVEsRUFBRSxtQkFBbUI7b0JBQzdCLFFBQVEsRUFBRSxFQUFFO29CQUNaLFNBQVMsRUFBRSxDQUFDLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsVUFBVTs7OzRCQUFDLGNBQU0sT0FBQSxxQkFBcUIsRUFBckIsQ0FBcUIsRUFBQyxFQUFFLENBQUM7aUJBQzFGOzs7c0JBRUUsS0FBSzt3QkFTTCxLQUFLO3lCQVNMLEtBQUs7O0lBZ0NSLDRCQUFDO0NBQUEsQUF4REQsQ0FLMkMsU0FBUyxHQW1EbkQ7U0FuRFkscUJBQXFCOzs7Ozs7SUE0QmhDLHFDQUFxQjs7Ozs7SUFDckIsdUNBQXVCOzs7OztJQUN2Qix3Q0FBd0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIGZvcndhcmRSZWYsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBpbWFnZU92ZXJsYXksIEltYWdlT3ZlcmxheSwgTGF0TG5nQm91bmRzLCBsYXRMbmdCb3VuZHMsIExheWVyR3JvdXAsIE1hcCB9IGZyb20gJ2xlYWZsZXQnO1xuaW1wb3J0IHsgQmFzZUxheWVyIH0gZnJvbSAnLi4vY29yZS9iYXNlLWxheWVyJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbmdsLWltYWdlLW92ZXJsYXknLFxuICB0ZW1wbGF0ZTogJycsXG4gIHByb3ZpZGVyczogW3sgcHJvdmlkZTogQmFzZUxheWVyLCB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBJbWFnZU92ZXJsYXlDb21wb25lbnQpIH1dXG59KVxuZXhwb3J0IGNsYXNzIEltYWdlT3ZlcmxheUNvbXBvbmVudCBleHRlbmRzIEJhc2VMYXllcjxJbWFnZU92ZXJsYXk+IHtcbiAgQElucHV0KCkgc2V0IHNyYyh2YWx1ZTogc3RyaW5nKSB7XG4gICAgdGhpcy5fdXJsID0gdmFsdWU7XG4gICAgaWYgKHRoaXMubGF5ZXJSZWYpIHtcbiAgICAgIHRoaXMubGF5ZXJSZWYuc2V0VXJsKHZhbHVlKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5wcmVwYXJlTGF5ZXIoKTtcbiAgICB9XG4gIH1cblxuICBASW5wdXQoKSBzZXQgd2lkdGgodmFsdWU6IG51bWJlcikge1xuICAgIHRoaXMuX3dpZHRoID0gdmFsdWU7XG4gICAgaWYgKHRoaXMubGF5ZXJSZWYpIHtcbiAgICAgIHRoaXMubGF5ZXJSZWYuc2V0Qm91bmRzKHRoaXMucHJlcGFyZUJvdW5kcyh0aGlzLl93aWR0aCwgdGhpcy5faGVpZ2h0KSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMucHJlcGFyZUxheWVyKCk7XG4gICAgfVxuICB9XG5cbiAgQElucHV0KCkgc2V0IGhlaWdodCh2YWx1ZTogbnVtYmVyKSB7XG4gICAgdGhpcy5faGVpZ2h0ID0gdmFsdWU7XG4gICAgaWYgKHRoaXMubGF5ZXJSZWYpIHtcbiAgICAgIHRoaXMubGF5ZXJSZWYuc2V0Qm91bmRzKHRoaXMucHJlcGFyZUJvdW5kcyh0aGlzLl93aWR0aCwgdGhpcy5faGVpZ2h0KSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMucHJlcGFyZUxheWVyKCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfdXJsOiBzdHJpbmc7XG4gIHByaXZhdGUgX3dpZHRoOiBudW1iZXI7XG4gIHByaXZhdGUgX2hlaWdodDogbnVtYmVyO1xuXG4gIGFkZFRvKG1hcDogTWFwIHwgTGF5ZXJHcm91cCk6IHZvaWQge1xuICAgIHN1cGVyLmFkZFRvKG1hcCk7XG4gICAgdGhpcy5wcmVwYXJlTGF5ZXIoKTtcbiAgfVxuXG4gIHByZXBhcmVMYXllcigpIHtcbiAgICBpZiAodGhpcy5tYXBSZWYgJiYgdGhpcy5fdXJsICYmIHRoaXMuX2hlaWdodCAmJiB0aGlzLl93aWR0aCkge1xuICAgICAgdGhpcy5sYXllclJlZiA9IGltYWdlT3ZlcmxheSh0aGlzLl91cmwsIHRoaXMucHJlcGFyZUJvdW5kcyh0aGlzLl93aWR0aCwgdGhpcy5faGVpZ2h0KSk7XG4gICAgICB0aGlzLm1hcFJlZi5hZGRMYXllcih0aGlzLmxheWVyUmVmKTtcbiAgICAgIHRoaXMuaW5pdEhhbmRsZXJzKCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBwcmVwYXJlQm91bmRzKHdpZHRoOiBudW1iZXIsIGhlaWdodDogbnVtYmVyKTogTGF0TG5nQm91bmRzIHtcbiAgICBjb25zdCBzb3V0aFdlc3QgPSAodGhpcy5tYXBSZWYgYXMgTWFwKS51bnByb2plY3QoWzAsIGhlaWdodCAqIDJdLCAxKSxcbiAgICAgIG5vcnRoRWFzdCA9ICh0aGlzLm1hcFJlZiBhcyBNYXApLnVucHJvamVjdChbd2lkdGggKiAyLCAwXSwgMSk7XG5cbiAgICByZXR1cm4gbGF0TG5nQm91bmRzKHNvdXRoV2VzdCwgbm9ydGhFYXN0KTtcbiAgfVxufVxuIl19