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
JavaScript
/**
* @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