UNPKG

angular-leaflet

Version:

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

82 lines 5.67 kB
/** * @fileoverview added by tsickle * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ import { Component, forwardRef, Input } from '@angular/core'; import { polygon } from 'leaflet'; import { BaseLayer } from '../../core/base-layer'; export class PolygonComponent extends BaseLayer { /** * @param {?} value * @return {?} */ set coordinates(value) { this._coordinates = value; if (this.layerRef) { this.layerRef.setLatLngs(value); } else { this.createLayer(); } } /** * @param {?} value * @return {?} */ set options(value) { this._options = value; if (this.layerRef) { this.layerRef.setStyle(value); } else { this.createLayer(); } } /** * @return {?} */ createLayer() { if (this.mapRef && this._coordinates) { this.layerRef = polygon(this._coordinates, Object.assign({}, this._options)); this.mapRef.addLayer(this.layerRef); this.initHandlers(); } } /** * @param {?} map * @return {?} */ addTo(map) { super.addTo(map); if (!this.layerRef) { this.createLayer(); } } } PolygonComponent.decorators = [ { type: Component, args: [{ selector: 'ngl-polygon', template: '', providers: [{ provide: BaseLayer, useExisting: forwardRef((/** * @return {?} */ () => PolygonComponent)) }] }] } ]; PolygonComponent.propDecorators = { coordinates: [{ type: Input }], options: [{ type: Input }] }; if (false) { /** * @type {?} * @private */ PolygonComponent.prototype._coordinates; /** * @type {?} * @private */ PolygonComponent.prototype._options; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9seWdvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9hbmd1bGFyLWxlYWZsZXQvIiwic291cmNlcyI6WyJ2ZWN0b3JzL3BvbHlnb24vcG9seWdvbi5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLEtBQUssRUFBYSxNQUFNLGVBQWUsQ0FBQztBQUN4RSxPQUFPLEVBQWtELE9BQU8sRUFBVyxNQUFNLFNBQVMsQ0FBQztBQUMzRixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFPbEQsTUFBTSxPQUFPLGdCQUFpQixTQUFRLFNBQWtCOzs7OztJQUN0RCxJQUFhLFdBQVcsQ0FBQyxLQUF5QjtRQUNoRCxJQUFJLENBQUMsWUFBWSxHQUFHLEtBQUssQ0FBQztRQUMxQixJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUU7WUFDakIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUM7U0FDakM7YUFBTTtZQUNMLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztTQUNwQjtJQUNILENBQUM7Ozs7O0lBRUQsSUFBYSxPQUFPLENBQUMsS0FBa0I7UUFDckMsSUFBSSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUM7UUFDdEIsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFO1lBQ2pCLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO1NBQy9CO2FBQU07WUFDTCxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7U0FDcEI7SUFDSCxDQUFDOzs7O0lBS0QsV0FBVztRQUNULElBQUksSUFBSSxDQUFDLE1BQU0sSUFBSSxJQUFJLENBQUMsWUFBWSxFQUFFO1lBQ3BDLElBQUksQ0FBQyxRQUFRLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxZQUFZLG9CQUNwQyxJQUFJLENBQUMsUUFBUSxFQUNoQixDQUFDO1lBQ0gsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBQ3BDLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztTQUNyQjtJQUNILENBQUM7Ozs7O0lBRUQsS0FBSyxDQUFDLEdBQXFCO1FBQ3pCLEtBQUssQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDakIsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUU7WUFDbEIsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1NBQ3BCO0lBQ0gsQ0FBQzs7O1lBMUNGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsYUFBYTtnQkFDdkIsUUFBUSxFQUFFLEVBQUU7Z0JBQ1osU0FBUyxFQUFFLENBQUMsRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBRSxVQUFVOzs7d0JBQUMsR0FBRyxFQUFFLENBQUMsZ0JBQWdCLEVBQUMsRUFBRSxDQUFDO2FBQ3JGOzs7MEJBRUUsS0FBSztzQkFTTCxLQUFLOzs7Ozs7O0lBU04sd0NBQXlDOzs7OztJQUN6QyxvQ0FBOEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIGZvcndhcmRSZWYsIElucHV0LCBPbkRlc3Ryb3kgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IExhdExuZ0V4cHJlc3Npb24sIExheWVyR3JvdXAsIE1hcCwgUGF0aE9wdGlvbnMsIHBvbHlnb24sIFBvbHlnb24gfSBmcm9tICdsZWFmbGV0JztcbmltcG9ydCB7IEJhc2VMYXllciB9IGZyb20gJy4uLy4uL2NvcmUvYmFzZS1sYXllcic7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ25nbC1wb2x5Z29uJyxcbiAgdGVtcGxhdGU6ICcnLFxuICBwcm92aWRlcnM6IFt7IHByb3ZpZGU6IEJhc2VMYXllciwgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gUG9seWdvbkNvbXBvbmVudCkgfV1cbn0pXG5leHBvcnQgY2xhc3MgUG9seWdvbkNvbXBvbmVudCBleHRlbmRzIEJhc2VMYXllcjxQb2x5Z29uPiB7XG4gIEBJbnB1dCgpIHNldCBjb29yZGluYXRlcyh2YWx1ZTogTGF0TG5nRXhwcmVzc2lvbltdKSB7XG4gICAgdGhpcy5fY29vcmRpbmF0ZXMgPSB2YWx1ZTtcbiAgICBpZiAodGhpcy5sYXllclJlZikge1xuICAgICAgdGhpcy5sYXllclJlZi5zZXRMYXRMbmdzKHZhbHVlKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5jcmVhdGVMYXllcigpO1xuICAgIH1cbiAgfVxuXG4gIEBJbnB1dCgpIHNldCBvcHRpb25zKHZhbHVlOiBQYXRoT3B0aW9ucykge1xuICAgIHRoaXMuX29wdGlvbnMgPSB2YWx1ZTtcbiAgICBpZiAodGhpcy5sYXllclJlZikge1xuICAgICAgdGhpcy5sYXllclJlZi5zZXRTdHlsZSh2YWx1ZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuY3JlYXRlTGF5ZXIoKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF9jb29yZGluYXRlczogTGF0TG5nRXhwcmVzc2lvbltdO1xuICBwcml2YXRlIF9vcHRpb25zOiBQYXRoT3B0aW9ucztcblxuICBjcmVhdGVMYXllcigpIHtcbiAgICBpZiAodGhpcy5tYXBSZWYgJiYgdGhpcy5fY29vcmRpbmF0ZXMpIHtcbiAgICAgIHRoaXMubGF5ZXJSZWYgPSBwb2x5Z29uKHRoaXMuX2Nvb3JkaW5hdGVzLCB7XG4gICAgICAgIC4uLnRoaXMuX29wdGlvbnNcbiAgICAgIH0pO1xuICAgICAgdGhpcy5tYXBSZWYuYWRkTGF5ZXIodGhpcy5sYXllclJlZik7XG4gICAgICB0aGlzLmluaXRIYW5kbGVycygpO1xuICAgIH1cbiAgfVxuXG4gIGFkZFRvKG1hcDogTWFwIHwgTGF5ZXJHcm91cCk6IHZvaWQge1xuICAgIHN1cGVyLmFkZFRvKG1hcCk7XG4gICAgaWYgKCF0aGlzLmxheWVyUmVmKSB7XG4gICAgICB0aGlzLmNyZWF0ZUxheWVyKCk7XG4gICAgfVxuICB9XG59XG4iXX0=