angular-leaflet
Version:
Collection of angular components to build map views faster and with minimal configuration using the most popular library **LeafletJS**.
99 lines • 6.57 kB
JavaScript
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
import { Component, forwardRef, Input } from '@angular/core';
import { BaseLayer } from '../../core/base-layer';
import { circle } from 'leaflet';
export class CircleComponent extends BaseLayer {
/**
* @param {?} value
* @return {?}
*/
set center(value) {
this._center = value;
if (this.layerRef) {
this.layerRef.setLatLng(value);
}
else {
this.createLayer();
}
}
/**
* @param {?} value
* @return {?}
*/
set radius(value) {
this._radius = value;
if (this.layerRef) {
this.layerRef.setRadius(value);
}
else {
this.createLayer();
}
}
/**
* @param {?} value
* @return {?}
*/
set options(value) {
this._options = value;
if (this.layerRef) {
this.layerRef.setStyle(value);
}
}
/**
* @param {?} map
* @return {?}
*/
addTo(map) {
super.addTo(map);
if (!this.layerRef) {
this.createLayer();
}
}
/**
* @private
* @return {?}
*/
createLayer() {
if (this.mapRef && this._center && this._radius) {
this.layerRef = circle(this._center, Object.assign({}, this._options, { radius: this._radius }));
this.mapRef.addLayer(this.layerRef);
this.initHandlers();
}
}
}
CircleComponent.decorators = [
{ type: Component, args: [{
selector: 'ngl-circle',
template: '',
providers: [{ provide: BaseLayer, useExisting: forwardRef((/**
* @return {?}
*/
() => CircleComponent)) }]
}] }
];
CircleComponent.propDecorators = {
center: [{ type: Input }],
radius: [{ type: Input }],
options: [{ type: Input }]
};
if (false) {
/**
* @type {?}
* @private
*/
CircleComponent.prototype._center;
/**
* @type {?}
* @private
*/
CircleComponent.prototype._radius;
/**
* @type {?}
* @private
*/
CircleComponent.prototype._options;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2lyY2xlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL2FuZ3VsYXItbGVhZmxldC8iLCJzb3VyY2VzIjpbInZlY3RvcnMvY2lyY2xlL2NpcmNsZS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM3RCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDbEQsT0FBTyxFQUFFLE1BQU0sRUFBMEQsTUFBTSxTQUFTLENBQUM7QUFPekYsTUFBTSxPQUFPLGVBQWdCLFNBQVEsU0FBaUI7Ozs7O0lBQ3BELElBQWEsTUFBTSxDQUFDLEtBQXVCO1FBQ3pDLElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDO1FBQ3JCLElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRTtZQUNqQixJQUFJLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQztTQUNoQzthQUFNO1lBQ0wsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1NBQ3BCO0lBQ0gsQ0FBQzs7Ozs7SUFFRCxJQUFhLE1BQU0sQ0FBQyxLQUFhO1FBQy9CLElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDO1FBQ3JCLElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRTtZQUNqQixJQUFJLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQztTQUNoQzthQUFNO1lBQ0wsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1NBQ3BCO0lBQ0gsQ0FBQzs7Ozs7SUFFRCxJQUFhLE9BQU8sQ0FBQyxLQUFrQjtRQUNyQyxJQUFJLENBQUMsUUFBUSxHQUFHLEtBQUssQ0FBQztRQUN0QixJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUU7WUFDakIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUM7U0FDL0I7SUFDSCxDQUFDOzs7OztJQU1ELEtBQUssQ0FBQyxHQUFxQjtRQUN6QixLQUFLLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ2pCLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFO1lBQ2xCLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztTQUNwQjtJQUNILENBQUM7Ozs7O0lBRU8sV0FBVztRQUNqQixJQUFJLElBQUksQ0FBQyxNQUFNLElBQUksSUFBSSxDQUFDLE9BQU8sSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFO1lBQy9DLElBQUksQ0FBQyxRQUFRLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLG9CQUM5QixJQUFJLENBQUMsUUFBUSxJQUNoQixNQUFNLEVBQUUsSUFBSSxDQUFDLE9BQU8sSUFDcEIsQ0FBQztZQUNILElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUNwQyxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7U0FDckI7SUFDSCxDQUFDOzs7WUFuREYsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSxZQUFZO2dCQUN0QixRQUFRLEVBQUUsRUFBRTtnQkFDWixTQUFTLEVBQUUsQ0FBQyxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLFVBQVU7Ozt3QkFBQyxHQUFHLEVBQUUsQ0FBQyxlQUFlLEVBQUMsRUFBRSxDQUFDO2FBQ3BGOzs7cUJBRUUsS0FBSztxQkFTTCxLQUFLO3NCQVNMLEtBQUs7Ozs7Ozs7SUFPTixrQ0FBa0M7Ozs7O0lBQ2xDLGtDQUF3Qjs7Ozs7SUFDeEIsbUNBQThCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBmb3J3YXJkUmVmLCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQmFzZUxheWVyIH0gZnJvbSAnLi4vLi4vY29yZS9iYXNlLWxheWVyJztcbmltcG9ydCB7IGNpcmNsZSwgQ2lyY2xlLCBMYXRMbmdFeHByZXNzaW9uLCBMYXllckdyb3VwLCBNYXAsIFBhdGhPcHRpb25zIH0gZnJvbSAnbGVhZmxldCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ25nbC1jaXJjbGUnLFxuICB0ZW1wbGF0ZTogJycsXG4gIHByb3ZpZGVyczogW3sgcHJvdmlkZTogQmFzZUxheWVyLCB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBDaXJjbGVDb21wb25lbnQpIH1dXG59KVxuZXhwb3J0IGNsYXNzIENpcmNsZUNvbXBvbmVudCBleHRlbmRzIEJhc2VMYXllcjxDaXJjbGU+IHtcbiAgQElucHV0KCkgc2V0IGNlbnRlcih2YWx1ZTogTGF0TG5nRXhwcmVzc2lvbikge1xuICAgIHRoaXMuX2NlbnRlciA9IHZhbHVlO1xuICAgIGlmICh0aGlzLmxheWVyUmVmKSB7XG4gICAgICB0aGlzLmxheWVyUmVmLnNldExhdExuZyh2YWx1ZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuY3JlYXRlTGF5ZXIoKTtcbiAgICB9XG4gIH1cblxuICBASW5wdXQoKSBzZXQgcmFkaXVzKHZhbHVlOiBudW1iZXIpIHtcbiAgICB0aGlzLl9yYWRpdXMgPSB2YWx1ZTtcbiAgICBpZiAodGhpcy5sYXllclJlZikge1xuICAgICAgdGhpcy5sYXllclJlZi5zZXRSYWRpdXModmFsdWUpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmNyZWF0ZUxheWVyKCk7XG4gICAgfVxuICB9XG5cbiAgQElucHV0KCkgc2V0IG9wdGlvbnModmFsdWU6IFBhdGhPcHRpb25zKSB7XG4gICAgdGhpcy5fb3B0aW9ucyA9IHZhbHVlO1xuICAgIGlmICh0aGlzLmxheWVyUmVmKSB7XG4gICAgICB0aGlzLmxheWVyUmVmLnNldFN0eWxlKHZhbHVlKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF9jZW50ZXI6IExhdExuZ0V4cHJlc3Npb247XG4gIHByaXZhdGUgX3JhZGl1czogbnVtYmVyO1xuICBwcml2YXRlIF9vcHRpb25zOiBQYXRoT3B0aW9ucztcblxuICBhZGRUbyhtYXA6IE1hcCB8IExheWVyR3JvdXApOiB2b2lkIHtcbiAgICBzdXBlci5hZGRUbyhtYXApO1xuICAgIGlmICghdGhpcy5sYXllclJlZikge1xuICAgICAgdGhpcy5jcmVhdGVMYXllcigpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgY3JlYXRlTGF5ZXIoKSB7XG4gICAgaWYgKHRoaXMubWFwUmVmICYmIHRoaXMuX2NlbnRlciAmJiB0aGlzLl9yYWRpdXMpIHtcbiAgICAgIHRoaXMubGF5ZXJSZWYgPSBjaXJjbGUodGhpcy5fY2VudGVyLCB7XG4gICAgICAgIC4uLnRoaXMuX29wdGlvbnMsXG4gICAgICAgIHJhZGl1czogdGhpcy5fcmFkaXVzXG4gICAgICB9KTtcbiAgICAgIHRoaXMubWFwUmVmLmFkZExheWVyKHRoaXMubGF5ZXJSZWYpO1xuICAgICAgdGhpcy5pbml0SGFuZGxlcnMoKTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==