angular-leaflet
Version:
Collection of angular components to build map views faster and with minimal configuration using the most popular library **LeafletJS**.
91 lines • 5.68 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 { divIcon, marker } from 'leaflet';
import { BaseLayer } from '../core/base-layer';
var MarkerComponent = /** @class */ (function (_super) {
tslib_1.__extends(MarkerComponent, _super);
function MarkerComponent() {
return _super !== null && _super.apply(this, arguments) || this;
}
Object.defineProperty(MarkerComponent.prototype, "latLng", {
set: /**
* @param {?} value
* @return {?}
*/
function (value) {
this._latLng = value;
this.prepareLayer();
},
enumerable: true,
configurable: true
});
/**
* @private
* @return {?}
*/
MarkerComponent.prototype.prepareLayer = /**
* @private
* @return {?}
*/
function () {
if (this.mapRef && this._latLng) {
if (this.layerRef) {
this.layerRef.setLatLng(this._latLng);
}
else {
this.createLayer();
}
}
};
/**
* @private
* @return {?}
*/
MarkerComponent.prototype.createLayer = /**
* @private
* @return {?}
*/
function () {
this.layerRef = marker(this._latLng, {
icon: divIcon()
});
this.mapRef.addLayer(this.layerRef);
this.initHandlers();
};
/**
* @param {?} map
* @return {?}
*/
MarkerComponent.prototype.addTo = /**
* @param {?} map
* @return {?}
*/
function (map) {
_super.prototype.addTo.call(this, map);
this.prepareLayer();
};
MarkerComponent.decorators = [
{ type: Component, args: [{
selector: 'ngl-marker',
template: '',
providers: [{ provide: BaseLayer, useExisting: forwardRef((/**
* @return {?}
*/
function () { return MarkerComponent; })) }]
}] }
];
MarkerComponent.propDecorators = {
latLng: [{ type: Input }]
};
return MarkerComponent;
}(BaseLayer));
export { MarkerComponent };
if (false) {
/** @type {?} */
MarkerComponent.prototype._latLng;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFya2VyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL2FuZ3VsYXItbGVhZmxldC8iLCJzb3VyY2VzIjpbIm1hcmtlci9tYXJrZXIuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzdELE9BQU8sRUFBRSxPQUFPLEVBQXFDLE1BQU0sRUFBVSxNQUFNLFNBQVMsQ0FBQztBQUNyRixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFFL0M7SUFLcUMsMkNBQWlCO0lBTHREOztJQW1DQSxDQUFDO0lBN0JDLHNCQUFhLG1DQUFNOzs7OztRQUFuQixVQUFvQixLQUF1QjtZQUN6QyxJQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQztZQUNyQixJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDdEIsQ0FBQzs7O09BQUE7Ozs7O0lBSU8sc0NBQVk7Ozs7SUFBcEI7UUFDRSxJQUFJLElBQUksQ0FBQyxNQUFNLElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRTtZQUMvQixJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUU7Z0JBQ2pCLElBQUksQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQzthQUN2QztpQkFBTTtnQkFDTCxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7YUFDcEI7U0FDRjtJQUNILENBQUM7Ozs7O0lBRU8scUNBQVc7Ozs7SUFBbkI7UUFDRSxJQUFJLENBQUMsUUFBUSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFO1lBQ25DLElBQUksRUFBRSxPQUFPLEVBQUU7U0FDaEIsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ3BDLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUN0QixDQUFDOzs7OztJQUVELCtCQUFLOzs7O0lBQUwsVUFBTSxHQUFxQjtRQUN6QixpQkFBTSxLQUFLLFlBQUMsR0FBRyxDQUFDLENBQUM7UUFDakIsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ3RCLENBQUM7O2dCQWxDRixTQUFTLFNBQUM7b0JBQ1QsUUFBUSxFQUFFLFlBQVk7b0JBQ3RCLFFBQVEsRUFBRSxFQUFFO29CQUNaLFNBQVMsRUFBRSxDQUFDLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsVUFBVTs7OzRCQUFDLGNBQU0sT0FBQSxlQUFlLEVBQWYsQ0FBZSxFQUFDLEVBQUUsQ0FBQztpQkFDcEY7Ozt5QkFFRSxLQUFLOztJQTZCUixzQkFBQztDQUFBLEFBbkNELENBS3FDLFNBQVMsR0E4QjdDO1NBOUJZLGVBQWU7OztJQU0xQixrQ0FBMEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIGZvcndhcmRSZWYsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBkaXZJY29uLCBMYXRMbmdFeHByZXNzaW9uLCBMYXllckdyb3VwLCBNYXAsIG1hcmtlciwgTWFya2VyIH0gZnJvbSAnbGVhZmxldCc7XG5pbXBvcnQgeyBCYXNlTGF5ZXIgfSBmcm9tICcuLi9jb3JlL2Jhc2UtbGF5ZXInO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICduZ2wtbWFya2VyJyxcbiAgdGVtcGxhdGU6ICcnLFxuICBwcm92aWRlcnM6IFt7IHByb3ZpZGU6IEJhc2VMYXllciwgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gTWFya2VyQ29tcG9uZW50KSB9XVxufSlcbmV4cG9ydCBjbGFzcyBNYXJrZXJDb21wb25lbnQgZXh0ZW5kcyBCYXNlTGF5ZXI8TWFya2VyPiB7XG4gIEBJbnB1dCgpIHNldCBsYXRMbmcodmFsdWU6IExhdExuZ0V4cHJlc3Npb24pIHtcbiAgICB0aGlzLl9sYXRMbmcgPSB2YWx1ZTtcbiAgICB0aGlzLnByZXBhcmVMYXllcigpO1xuICB9XG5cbiAgX2xhdExuZzogTGF0TG5nRXhwcmVzc2lvbjtcblxuICBwcml2YXRlIHByZXBhcmVMYXllcigpIHtcbiAgICBpZiAodGhpcy5tYXBSZWYgJiYgdGhpcy5fbGF0TG5nKSB7XG4gICAgICBpZiAodGhpcy5sYXllclJlZikge1xuICAgICAgICB0aGlzLmxheWVyUmVmLnNldExhdExuZyh0aGlzLl9sYXRMbmcpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5jcmVhdGVMYXllcigpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgY3JlYXRlTGF5ZXIoKSB7XG4gICAgdGhpcy5sYXllclJlZiA9IG1hcmtlcih0aGlzLl9sYXRMbmcsIHtcbiAgICAgIGljb246IGRpdkljb24oKVxuICAgIH0pO1xuICAgIHRoaXMubWFwUmVmLmFkZExheWVyKHRoaXMubGF5ZXJSZWYpO1xuICAgIHRoaXMuaW5pdEhhbmRsZXJzKCk7XG4gIH1cblxuICBhZGRUbyhtYXA6IE1hcCB8IExheWVyR3JvdXApOiB2b2lkIHtcbiAgICBzdXBlci5hZGRUbyhtYXApO1xuICAgIHRoaXMucHJlcGFyZUxheWVyKCk7XG4gIH1cbn1cbiJdfQ==