ngx-amap
Version:
[][npm-badge-url] [][npm-badge-url] [][ci-url]
198 lines • 13 kB
JavaScript
/**
* @fileoverview added by tsickle
* Generated from: directives/amap-heatmap/amap-heatmap.directive.ts
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
import * as tslib_1 from "tslib";
import { Input, Output, EventEmitter, Directive, NgZone, } from '@angular/core';
import { zip } from 'rxjs';
import { AmapHeatmapService } from './amap-heatmap.service';
import { LoggerService } from '../../shared/logger/logger.service';
import { getOptions, ChangeFilter } from '../../utils';
/** @type {?} */
var TAG = 'amap-heatmap';
/** @type {?} */
var HeatmapOptions = ['radius', 'gradient', 'opacity', 'zooms'];
var AmapHeatmapDirective = /** @class */ (function () {
function AmapHeatmapDirective(os, logger, ngZone) {
this.os = os;
this.logger = logger;
this.ngZone = ngZone;
/**
* 额外: 是否隐藏
*/
this.hidden = false;
// ---- Events ----
this.naReady = new EventEmitter();
this.inited = false;
}
/**
* @return {?}
*/
AmapHeatmapDirective.prototype.ngOnDestroy = /**
* @return {?}
*/
function () {
this.os.destroy();
};
/**
* @param {?} changes
* @return {?}
*/
AmapHeatmapDirective.prototype.ngOnChanges = /**
* @param {?} changes
* @return {?}
*/
function (changes) {
var _this = this;
/** @type {?} */
var filter = ChangeFilter.of(changes);
/** @type {?} */
var heatmap = this.get();
if (!this.inited) {
this.logger.d(TAG, 'initializing ...');
/** @type {?} */
var options = this.options || getOptions(this, HeatmapOptions);
this.logger.d(TAG, 'options:', options);
this.os.create(options).subscribe((/**
* @param {?} m
* @return {?}
*/
function (m) {
_this.ngZone.run((/**
* @return {?}
*/
function () { return _this.naReady.emit(m); }));
_this.logger.d(TAG, 'heatmap is ready.');
}));
this.inited = true;
}
else {
zip(filter.has('options'), heatmap).subscribe((/**
* @param {?} __0
* @return {?}
*/
function (_a) {
var _b = tslib_1.__read(_a, 2), v = _b[0], p = _b[1];
return p.setOptions(v || {});
}));
}
zip(filter.notEmpty('dataset'), heatmap).subscribe((/**
* @param {?} __0
* @return {?}
*/
function (_a) {
var _b = tslib_1.__read(_a, 2), v = _b[0], p = _b[1];
p.setDataSet(v);
}));
zip(filter.has('hidden'), heatmap).subscribe((/**
* @param {?} __0
* @return {?}
*/
function (_a) {
var _b = tslib_1.__read(_a, 2), v = _b[0], p = _b[1];
return (v ? p.hide() : p.show());
}));
};
/**
* 获取已创建的 AMap.Heatmap 对象
*/
/**
* 获取已创建的 AMap.Heatmap 对象
* @return {?}
*/
AmapHeatmapDirective.prototype.get = /**
* 获取已创建的 AMap.Heatmap 对象
* @return {?}
*/
function () {
return this.os.get();
};
AmapHeatmapDirective.decorators = [
{ type: Directive, args: [{
selector: 'amap-heatmap',
exportAs: 'heatmap',
providers: [AmapHeatmapService],
},] }
];
/** @nocollapse */
AmapHeatmapDirective.ctorParameters = function () { return [
{ type: AmapHeatmapService },
{ type: LoggerService },
{ type: NgZone }
]; };
AmapHeatmapDirective.propDecorators = {
radius: [{ type: Input }],
gradient: [{ type: Input }],
opacity: [{ type: Input }],
zooms: [{ type: Input }],
hidden: [{ type: Input }],
options: [{ type: Input }],
dataset: [{ type: Input }],
naReady: [{ type: Output }]
};
return AmapHeatmapDirective;
}());
export { AmapHeatmapDirective };
if (false) {
/**
* 热力图中单个点的半径,默认:30,单位:pixel
* @type {?}
*/
AmapHeatmapDirective.prototype.radius;
/**
* 热力图的渐变区间
* @type {?}
*/
AmapHeatmapDirective.prototype.gradient;
/**
* 热力图透明度数组,取值范围[0,1],0表示完全透明,1表示不透明
* 默认:[0,1]
* @type {?}
*/
AmapHeatmapDirective.prototype.opacity;
/**
* 支持的缩放级别范围,取值范围[3-18]
* 默认:[3,18]
* @type {?}
*/
AmapHeatmapDirective.prototype.zooms;
/**
* 额外: 是否隐藏
* @type {?}
*/
AmapHeatmapDirective.prototype.hidden;
/**
* 额外: 会覆盖其他属性的配置方式
* @type {?}
*/
AmapHeatmapDirective.prototype.options;
/**
* 额外: 坐标数据集
* @type {?}
*/
AmapHeatmapDirective.prototype.dataset;
/** @type {?} */
AmapHeatmapDirective.prototype.naReady;
/**
* @type {?}
* @private
*/
AmapHeatmapDirective.prototype.inited;
/**
* @type {?}
* @protected
*/
AmapHeatmapDirective.prototype.os;
/**
* @type {?}
* @private
*/
AmapHeatmapDirective.prototype.logger;
/**
* @type {?}
* @private
*/
AmapHeatmapDirective.prototype.ngZone;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW1hcC1oZWF0bWFwLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL25neC1hbWFwLyIsInNvdXJjZXMiOlsiZGlyZWN0aXZlcy9hbWFwLWhlYXRtYXAvYW1hcC1oZWF0bWFwLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSxPQUFPLEVBQ0wsS0FBSyxFQUNMLE1BQU0sRUFDTixZQUFZLEVBQ1osU0FBUyxFQUlULE1BQU0sR0FDUCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzNCLE9BQU8sRUFBRSxrQkFBa0IsRUFBZSxNQUFNLHdCQUF3QixDQUFDO0FBQ3pFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUNuRSxPQUFPLEVBQUUsVUFBVSxFQUFFLFlBQVksRUFBRSxNQUFNLGFBQWEsQ0FBQzs7SUFFakQsR0FBRyxHQUFHLGNBQWM7O0lBQ3BCLGNBQWMsR0FBRyxDQUFDLFFBQVEsRUFBRSxVQUFVLEVBQUUsU0FBUyxFQUFFLE9BQU8sQ0FBQztBQUVqRTtJQTJDRSw4QkFDWSxFQUFzQixFQUN4QixNQUFxQixFQUNyQixNQUFjO1FBRlosT0FBRSxHQUFGLEVBQUUsQ0FBb0I7UUFDeEIsV0FBTSxHQUFOLE1BQU0sQ0FBZTtRQUNyQixXQUFNLEdBQU4sTUFBTSxDQUFROzs7O1FBbEJmLFdBQU0sR0FBRyxLQUFLLENBQUM7O1FBV2QsWUFBTyxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFFL0IsV0FBTSxHQUFHLEtBQUssQ0FBQztJQU1wQixDQUFDOzs7O0lBRUosMENBQVc7OztJQUFYO1FBQ0UsSUFBSSxDQUFDLEVBQUUsQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUNwQixDQUFDOzs7OztJQUVELDBDQUFXOzs7O0lBQVgsVUFBWSxPQUFzQjtRQUFsQyxpQkFzQkM7O1lBckJPLE1BQU0sR0FBRyxZQUFZLENBQUMsRUFBRSxDQUFDLE9B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c0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBJbnB1dCxcbiAgT3V0cHV0LFxuICBFdmVudEVtaXR0ZXIsXG4gIERpcmVjdGl2ZSxcbiAgT25EZXN0cm95LFxuICBTaW1wbGVDaGFuZ2VzLFxuICBPbkNoYW5nZXMsXG4gIE5nWm9uZSxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyB6aXAgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEFtYXBIZWF0bWFwU2VydmljZSwgQU1hcEhlYXRtYXAgfSBmcm9tICcuL2FtYXAtaGVhdG1hcC5zZXJ2aWNlJztcbmltcG9ydCB7IExvZ2dlclNlcnZpY2UgfSBmcm9tICcuLi8uLi9zaGFyZWQvbG9nZ2VyL2xvZ2dlci5zZXJ2aWNlJztcbmltcG9ydCB7IGdldE9wdGlvbnMsIENoYW5nZUZpbHRlciB9IGZyb20gJy4uLy4uL3V0aWxzJztcblxuY29uc3QgVEFHID0gJ2FtYXAtaGVhdG1hcCc7XG5jb25zdCBIZWF0bWFwT3B0aW9ucyA9IFsncmFkaXVzJywgJ2dyYWRpZW50JywgJ29wYWNpdHknLCAnem9vbXMnXTtcblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnYW1hcC1oZWF0bWFwJyxcbiAgZXhwb3J0QXM6ICdoZWF0bWFwJyxcbiAgcHJvdmlkZXJzOiBbQW1hcEhlYXRtYXBTZXJ2aWNlXSxcbn0pXG5leHBvcnQgY2xhc3MgQW1hcEhlYXRtYXBEaXJlY3RpdmUgaW1wbGVtZW50cyBPbkNoYW5nZXMsIE9uRGVzdHJveSB7XG4gIC8vIC0tLS0gT3B0aW9ucyAtLS0tXG4gIC8qKlxuICAgKiDng63lipvlm77kuK3ljZXkuKrngrnnmoTljYrlvoTvvIzpu5jorqTvvJozMO+8jOWNleS9je+8mnBpeGVsXG4gICAqL1xuICBASW5wdXQoKSByYWRpdXM6IG51bWJlcjtcbiAgLyoqXG4gICAqIOeDreWKm+WbvueahOa4kOWPmOWMuumXtFxuICAgKi9cbiAgQElucHV0KCkgZ3JhZGllbnQ6IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH07XG4gIC8qKlxuICAgKiDng63lipvlm77pgI/mmI7luqbmlbDnu4TvvIzlj5blgLzojIPlm7RbMCwxXe+8jDDooajnpLrlrozlhajpgI/mmI7vvIwx6KGo56S65LiN6YCP5piOXG4gICAqIOm7mOiupO+8mlswLDFdXG4gICAqL1xuICBASW5wdXQoKSBvcGFjaXR5OiBbbnVtYmVyLCBudW1iZXJdO1xuICAvKipcbiAgICog5pSv5oyB55qE57yp5pS+57qn5Yir6IyD5Zu077yM5Y+W5YC86IyD5Zu0WzMtMThdXG4gICAqIOm7mOiupO+8mlszLDE4XVxuICAgKi9cbiAgQElucHV0KCkgem9vbXM6IFtudW1iZXIsIG51bWJlcl07XG4gIC8qKlxuICAgKiDpop3lpJY6IOaYr+WQpumakOiXj1xuICAgKi9cbiAgQElucHV0KCkgaGlkZGVuID0gZmFsc2U7XG4gIC8qKlxuICAgKiDpop3lpJY6IOS8muimhuebluWFtuS7luWxnuaAp+eahOmFjee9ruaWueW8j1xuICAgKi9cbiAgQElucHV0KCkgb3B0aW9uczogQU1hcEhlYXRtYXAuT3B0aW9ucztcbiAgLyoqXG4gICAqIOmineWkljog5Z2Q5qCH5pWw5o2u6ZuGXG4gICAqL1xuICBASW5wdXQoKSBkYXRhc2V0OiBBTWFwSGVhdG1hcC5EYXRhU2V0O1xuXG4gIC8vIC0tLS0gRXZlbnRzIC0tLS1cbiAgQE91dHB1dCgpIG5hUmVhZHkgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgcHJpdmF0ZSBpbml0ZWQgPSBmYWxzZTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcm90ZWN0ZWQgb3M6IEFtYXBIZWF0bWFwU2VydmljZSxcbiAgICBwcml2YXRlIGxvZ2dlcjogTG9nZ2VyU2VydmljZSxcbiAgICBwcml2YXRlIG5nWm9uZTogTmdab25lLFxuICApIHt9XG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgdGhpcy5vcy5kZXN0cm95KCk7XG4gIH1cblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKSB7XG4gICAgY29uc3QgZmlsdGVyID0gQ2hhbmdlRmlsdGVyLm9mKGNoYW5nZXMpO1xuICAgIGNvbnN0IGhlYXRtYXAgPSB0aGlzLmdldCgpO1xuICAgIGlmICghdGhpcy5pbml0ZWQpIHtcbiAgICAgIHRoaXMubG9nZ2VyLmQoVEFHLCAnaW5pdGlhbGl6aW5nIC4uLicpO1xuICAgICAgY29uc3Qgb3B0aW9ucyA9IHRoaXMub3B0aW9ucyB8fCBnZXRPcHRpb25zPEFNYXBIZWF0bWFwLk9wdGlvbnM+KHRoaXMsIEhlYXRtYXBPcHRpb25zKTtcbiAgICAgIHRoaXMubG9nZ2VyLmQoVEFHLCAnb3B0aW9uczonLCBvcHRpb25zKTtcbiAgICAgIHRoaXMub3MuY3JlYXRlKG9wdGlvbnMpLnN1YnNjcmliZShtID0+IHtcbiAgICAgICAgdGhpcy5uZ1pvbmUucnVuKCgpID0+IHRoaXMubmFSZWFkeS5lbWl0KG0pKTtcbiAgICAgICAgdGhpcy5sb2dnZXIuZChUQUcsICdoZWF0bWFwIGlzIHJlYWR5LicpO1xuICAgICAgfSk7XG4gICAgICB0aGlzLmluaXRlZCA9IHRydWU7XG4gICAgfSBlbHNlIHtcbiAgICAgIHppcChmaWx0ZXIuaGFzPEFNYXBIZWF0bWFwLk9wdGlvbnM+KCdvcHRpb25zJyksIGhlYXRtYXApLnN1YnNjcmliZSgoW3YsIHBdKSA9PlxuICAgICAgICBwLnNldE9wdGlvbnModiB8fCB7fSksXG4gICAgICApO1xuICAgIH1cblxuICAgIHppcChmaWx0ZXIubm90RW1wdHk8QU1hcEhlYXRtYXAuRGF0YVNldD4oJ2RhdGFzZXQnKSwgaGVhdG1hcCkuc3Vic2NyaWJlKChbdiwgcF0pID0+IHtcbiAgICAgIHAuc2V0RGF0YVNldCh2KTtcbiAgICB9KTtcbiAgICB6aXAoZmlsdGVyLmhhczxib29sZWFuPignaGlkZGVuJyksIGhlYXRtYXApLnN1YnNjcmliZSgoW3YsIHBdKSA9PiAodiA/IHAuaGlkZSgpIDogcC5zaG93KCkpKTtcbiAgfVxuXG4gIC8qKlxuICAgKiDojrflj5blt7LliJvlu7rnmoQgQU1hcC5IZWF0bWFwIOWvueixoVxuICAgKi9cbiAgZ2V0KCkge1xuICAgIHJldHVybiB0aGlzLm9zLmdldCgpO1xuICB9XG59XG4iXX0=