ngx-amap
Version:
[][npm-badge-url] [][npm-badge-url] [][ci-url]
227 lines • 12.6 kB
JavaScript
/**
* @fileoverview added by tsickle
* Generated from: directives/amap-heatmap/amap-heatmap.service.ts
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
import * as tslib_1 from "tslib";
import { Injectable, NgZone } from '@angular/core';
import { ReplaySubject, zip } from 'rxjs';
import { map } from 'rxjs/operators';
import { AMapService } from '../../shared/amap.service';
import { PluginLoaderService } from '../../shared/plugin-loader.service';
import { LoggerService } from '../../shared/logger/logger.service';
/** @type {?} */
var TAG = 'AmapHeatmap';
export var AMapHeatmap;
(function (AMapHeatmap) {
/**
* @record
*/
function Options() { }
AMapHeatmap.Options = Options;
if (false) {
/**
* 热力图中单个点的半径,默认:30,单位:pixel
* @type {?|undefined}
*/
Options.prototype.radius;
/**
* 热力图的渐变区间
* @type {?|undefined}
*/
Options.prototype.gradient;
/**
* 热力图透明度数组,取值范围[0,1],0表示完全透明,1表示不透明
* 默认:[0,1]
* @type {?|undefined}
*/
Options.prototype.opacity;
/**
* 支持的缩放级别范围,取值范围[3-18]
* 默认:[3,18]
* @type {?|undefined}
*/
Options.prototype.zooms;
/** @type {?|undefined} */
Options.prototype.rejectMapMask;
/** @type {?|undefined} */
Options.prototype.visible;
/** @type {?|undefined} */
Options.prototype.radiusUnit;
/** @type {?|undefined} */
Options.prototype.blur;
/** @type {?|undefined} */
Options.prototype.zIndex;
/** @type {?|undefined} */
Options.prototype.renderOnZooming;
/* Skipping unnamed member:
['3d']?: {
heightScale?: number;
heightBezier?: number[];
gridSize?: number;
drawGridLine?: boolean;
};*/
}
/**
* @record
*/
function Data() { }
AMapHeatmap.Data = Data;
if (false) {
/**
* 经度
* @type {?}
*/
Data.prototype.lng;
/**
* 维度
* @type {?}
*/
Data.prototype.lat;
/**
* 权重
* @type {?}
*/
Data.prototype.count;
}
/**
* @record
*/
function DataSet() { }
AMapHeatmap.DataSet = DataSet;
if (false) {
/**
* 权重的最大值
* @type {?|undefined}
*/
DataSet.prototype.max;
/**
* 坐标数据集
* @type {?}
*/
DataSet.prototype.data;
}
})(AMapHeatmap || (AMapHeatmap = {}));
var AmapHeatmapService = /** @class */ (function () {
function AmapHeatmapService(amaps, plugin, logger, ngZone) {
this.amaps = amaps;
this.plugin = plugin;
this.logger = logger;
this.ngZone = ngZone;
this.heatmap$ = new ReplaySubject(1);
}
/**
* 获取热力图
*/
/**
* 获取热力图
* @return {?}
*/
AmapHeatmapService.prototype.get = /**
* 获取热力图
* @return {?}
*/
function () {
return this.heatmap$.asObservable();
};
/**
* 创建热力图 AMap.Heatmap
* @param options 选项
*/
/**
* 创建热力图 AMap.Heatmap
* @param {?} options 选项
* @return {?}
*/
AmapHeatmapService.prototype.create = /**
* 创建热力图 AMap.Heatmap
* @param {?} options 选项
* @return {?}
*/
function (options) {
var _this = this;
return zip(this.amaps.get(), this.plugin.load('AMap.Heatmap')).pipe(map((/**
* @param {?} __0
* @return {?}
*/
function (_a) {
var _b = tslib_1.__read(_a, 1), m = _b[0];
_this.heatmap = _this.ngZone.runOutsideAngular((/**
* @return {?}
*/
function () { return new AMap.Heatmap(m, options); }));
_this.logger.d(TAG, 'new Heatmap created.');
_this.heatmap$.next(_this.heatmap);
_this.heatmap$.complete();
return _this.heatmap;
})));
};
/**
* 销毁热力图
*/
/**
* 销毁热力图
* @return {?}
*/
AmapHeatmapService.prototype.destroy = /**
* 销毁热力图
* @return {?}
*/
function () {
var _this = this;
this.get().subscribe((/**
* @param {?} heatmap
* @return {?}
*/
function (heatmap) {
heatmap.setMap(null);
_this.logger.d(TAG, 'Heatmap destroyed.');
_this.heatmap = null;
}));
};
AmapHeatmapService.decorators = [
{ type: Injectable }
];
/** @nocollapse */
AmapHeatmapService.ctorParameters = function () { return [
{ type: AMapService },
{ type: PluginLoaderService },
{ type: LoggerService },
{ type: NgZone }
]; };
return AmapHeatmapService;
}());
export { AmapHeatmapService };
if (false) {
/**
* @type {?}
* @private
*/
AmapHeatmapService.prototype.heatmap;
/**
* @type {?}
* @private
*/
AmapHeatmapService.prototype.heatmap$;
/**
* @type {?}
* @private
*/
AmapHeatmapService.prototype.amaps;
/**
* @type {?}
* @private
*/
AmapHeatmapService.prototype.plugin;
/**
* @type {?}
* @private
*/
AmapHeatmapService.prototype.logger;
/**
* @type {?}
* @private
*/
AmapHeatmapService.prototype.ngZone;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW1hcC1oZWF0bWFwLnNlcnZpY2UuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9uZ3gtYW1hcC8iLCJzb3VyY2VzIjpbImRpcmVjdGl2ZXMvYW1hcC1oZWF0bWFwL2FtYXAtaGVhdG1hcC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxhQUFhLEVBQUUsR0FBRyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzFDLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNyQyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDeEQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDekUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLG9DQUFvQyxDQUFDOztJQUk3RCxHQUFHLEdBQUcsYUFBYTtBQUV6QixNQUFNLEtBQVcsV0FBVyxDQTBEM0I7QUExREQsV0FBaUIsV0FBVzs7OztJQUMxQixzQkFnQ0M7Ozs7Ozs7UUE1QkMseUJBQWdCOzs7OztRQUloQiwyQkFBcUM7Ozs7OztRQUtyQywwQkFBMkI7Ozs7OztRQUszQix3QkFBeUI7O1FBRXpCLGdDQUF3Qjs7UUFDeEIsMEJBQWtCOztRQUNsQiw2QkFBb0I7O1FBQ3BCLHVCQUFjOztRQUNkLHlCQUFnQjs7UUFDaEIsa0NBQTBCOzs7Ozs7Ozs7Ozs7SUFRNUIsbUJBYUM7Ozs7Ozs7UUFUQyxtQkFBWTs7Ozs7UUFJWixtQkFBWTs7Ozs7UUFJWixxQkFBYzs7Ozs7SUFFaEIsc0JBU0M7Ozs7Ozs7UUFMQyxzQkFBYTs7Ozs7UUFJYix1QkFBYTs7QUFFakIsQ0FBQyxFQTFEZ0IsV0FBVyxLQUFYLFdBQVcsUUEwRDNCO0FBRUQ7SUFLRSw0QkFDVSxLQUFrQixFQUNsQixNQUEyQixFQUMzQixNQUFxQixFQUNyQixNQUFjO1FBSGQsVUFBSyxHQUFMLEtBQUssQ0FBYTtRQUNsQixXQUFNLEdBQU4sTUFBTSxDQUFxQjtRQUMzQixXQUFNLEdBQU4sTUFBTSxDQUFlO1FBQ3JCLFdBQU0sR0FBTixNQUFNLENBQVE7UUFOaEIsYUFBUSxHQUFHLElBQUksYUFBYSxDQUFNLENBQUMsQ0FBQyxDQUFDO0lBTzFDLENBQUM7SUFFSjs7T0FFRzs7Ozs7SUFDSCxnQ0FBRzs7OztJQUFIO1FBQ0UsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ3RDLENBQUM7SUFFRDs7O09BR0c7Ozs7OztJQUNILG1DQUFNOzs7OztJQUFOLFVBQU8sT0FBNEI7UUFBbkMsaUJBVUM7UUFUQyxPQUFPLEdBQUcsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsRUFBRSxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUNqRSxHQUFHOzs7O1FBQUMsVUFBQyxFQUFHO2dCQUFILDBCQUFHLEVBQUYsU0FBQztZQUNMLEtBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSSxDQUFDLE1BQU0sQ0FBQyxpQkFBaUI7OztZQUFDLGNBQU0sT0FBQSxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxFQUFFLE9BQU8sQ0FBQyxFQUE1QixDQUE0QixFQUFDLENBQUM7WUFDakYsS0FBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFLHNCQUFzQixDQUFDLENBQUM7WUFDM0MsS0FBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsS0FBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQ2pDLEtBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDekIsT0FBTyxLQUFJLENBQUMsT0FBTyxDQUFDO1FBQ3RCLENBQUMsRUFBQyxDQUNILENBQUM7SUFDSixDQUFDO0lBRUQ7O09BRUc7Ozs7O0lBQ0gsb0NBQU87Ozs7SUFBUDtRQUFBLGlCQU1DO1FBTEMsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLFNBQVM7Ozs7UUFBQyxVQUFBLE9BQU87WUFDMUIsT0FBTyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUNyQixLQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUUsb0JBQW9CLENBQUMsQ0FBQztZQUN6QyxLQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQztRQUN0QixDQUFDLEVBQUMsQ0FBQztJQUNMLENBQUM7O2dCQTVDRixVQUFVOzs7O2dCQXBFRixXQUFXO2dCQUNYLG1CQUFtQjtnQkFDbkIsYUFBYTtnQkFMRCxNQUFNOztJQW9IM0IseUJBQUM7Q0FBQSxBQTdDRCxJQTZDQztTQTVDWSxrQkFBa0I7Ozs7OztJQUM3QixxQ0FBcUI7Ozs7O0lBQ3JCLHNDQUE2Qzs7Ozs7SUFHM0MsbUNBQTBCOzs7OztJQUMxQixvQ0FBbUM7Ozs7O0lBQ25DLG9DQUE2Qjs7Ozs7SUFDN0Isb0NBQXNCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgTmdab25lIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBSZXBsYXlTdWJqZWN0LCB6aXAgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IEFNYXBTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2hhcmVkL2FtYXAuc2VydmljZSc7XG5pbXBvcnQgeyBQbHVnaW5Mb2FkZXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2hhcmVkL3BsdWdpbi1sb2FkZXIuc2VydmljZSc7XG5pbXBvcnQgeyBMb2dnZXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2hhcmVkL2xvZ2dlci9sb2dnZXIuc2VydmljZSc7XG5pbXBvcnQgeyBHZXR0ZXIgfSBmcm9tICcuLi8uLi9iYXNlL2ludGVyZmFjZXMnO1xuZGVjbGFyZSBjb25zdCBBTWFwOiBhbnk7XG5cbmNvbnN0IFRBRyA9ICdBbWFwSGVhdG1hcCc7XG5cbmV4cG9ydCBuYW1lc3BhY2UgQU1hcEhlYXRtYXAge1xuICBleHBvcnQgaW50ZXJmYWNlIE9wdGlvbnMge1xuICAgIC8qKlxuICAgICAqIOeDreWKm+WbvuS4reWNleS4queCueeahOWNiuW+hO+8jOm7mOiupO+8mjMw77yM5Y2V5L2N77yacGl4ZWxcbiAgICAgKi9cbiAgICByYWRpdXM/OiBudW1iZXI7XG4gICAgLyoqXG4gICAgICog54Ot5Yqb5Zu+55qE5riQ5Y+Y5Yy66Ze0XG4gICAgICovXG4gICAgZ3JhZGllbnQ/OiB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9O1xuICAgIC8qKlxuICAgICAqIOeDreWKm+WbvumAj+aYjuW6puaVsOe7hO+8jOWPluWAvOiMg+WbtFswLDFd77yMMOihqOekuuWujOWFqOmAj+aYju+8jDHooajnpLrkuI3pgI/mmI5cbiAgICAgKiDpu5jorqTvvJpbMCwxXVxuICAgICAqL1xuICAgIG9wYWNpdHk/OiBbbnVtYmVyLCBudW1iZXJdO1xuICAgIC8qKlxuICAgICAqIOaUr+aMgeeahOe8qeaUvue6p+WIq+iMg+WbtO+8jOWPluWAvOiMg+WbtFszLTE4XVxuICAgICAqIOm7mOiupO+8mlszLDE4XVxuICAgICAqL1xuICAgIHpvb21zPzogW251bWJlciwgbnVtYmVyXTtcblxuICAgIHJlamVjdE1hcE1hc2s/OiBib29sZWFuO1xuICAgIHZpc2libGU/OiBib29sZWFuO1xuICAgIHJhZGl1c1VuaXQ/OiBzdHJpbmc7XG4gICAgYmx1cj86IG51bWJlcjtcbiAgICB6SW5kZXg/OiBudW1iZXI7XG4gICAgcmVuZGVyT25ab29taW5nPzogYm9vbGVhbjtcbiAgICBbJzNkJ10/OiB7XG4gICAgICBoZWlnaHRTY2FsZT86IG51bWJlcjtcbiAgICAgIGhlaWdodEJlemllcj86IG51bWJlcltdO1xuICAgICAgZ3JpZFNpemU/OiBudW1iZXI7XG4gICAgICBkcmF3R3JpZExpbmU/OiBib29sZWFuO1xuICAgIH07XG4gIH1cbiAgZXhwb3J0IGludGVyZmFjZSBEYXRhIHtcbiAgICAvKipcbiAgICAgKiDnu4/luqZcbiAgICAgKi9cbiAgICBsbmc6IG51bWJlcjtcbiAgICAvKipcbiAgICAgKiDnu7TluqZcbiAgICAgKi9cbiAgICBsYXQ6IG51bWJlcjtcbiAgICAvKipcbiAgICAgKiDmnYPph41cbiAgICAgKi9cbiAgICBjb3VudDogbnVtYmVyO1xuICB9XG4gIGV4cG9ydCBpbnRlcmZhY2UgRGF0YVNldCB7XG4gICAgLyoqXG4gICAgICog5p2D6YeN55qE5pyA5aSn5YC8XG4gICAgICovXG4gICAgbWF4PzogbnVtYmVyO1xuICAgIC8qKlxuICAgICAqIOWdkOagh+aVsOaNrumbhlxuICAgICAqL1xuICAgIGRhdGE6IERhdGFbXTtcbiAgfVxufVxuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgQW1hcEhlYXRtYXBTZXJ2aWNlIGltcGxlbWVudHMgR2V0dGVyPGFueT4ge1xuICBwcml2YXRlIGhlYXRtYXA6IGFueTtcbiAgcHJpdmF0ZSBoZWF0bWFwJCA9IG5ldyBSZXBsYXlTdWJqZWN0PGFueT4oMSk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBhbWFwczogQU1hcFNlcnZpY2UsXG4gICAgcHJpdmF0ZSBwbHVnaW46IFBsdWdpbkxvYWRlclNlcnZpY2UsXG4gICAgcHJpdmF0ZSBsb2dnZXI6IExvZ2dlclNlcnZpY2UsXG4gICAgcHJpdmF0ZSBuZ1pvbmU6IE5nWm9uZSxcbiAgKSB7fVxuXG4gIC8qKlxuICAgKiDojrflj5bng63lipvlm75cbiAgICovXG4gIGdldCgpIHtcbiAgICByZXR1cm4gdGhpcy5oZWF0bWFwJC5hc09ic2VydmFibGUoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiDliJvlu7rng63lipvlm74gQU1hcC5IZWF0bWFwXG4gICAqIEBwYXJhbSBvcHRpb25zIOmAiemhuVxuICAgKi9cbiAgY3JlYXRlKG9wdGlvbnM6IEFNYXBIZWF0bWFwLk9wdGlvbnMpIHtcbiAgICByZXR1cm4gemlwKHRoaXMuYW1hcHMuZ2V0KCksIHRoaXMucGx1Z2luLmxvYWQoJ0FNYXAuSGVhdG1hcCcpKS5waXBlKFxuICAgICAgbWFwKChbbV0pID0+IHtcbiAgICAgICAgdGhpcy5oZWF0bWFwID0gdGhpcy5uZ1pvbmUucnVuT3V0c2lkZUFuZ3VsYXIoKCkgPT4gbmV3IEFNYXAuSGVhdG1hcChtLCBvcHRpb25zKSk7XG4gICAgICAgIHRoaXMubG9nZ2VyLmQoVEFHLCAnbmV3IEhlYXRtYXAgY3JlYXRlZC4nKTtcbiAgICAgICAgdGhpcy5oZWF0bWFwJC5uZXh0KHRoaXMuaGVhdG1hcCk7XG4gICAgICAgIHRoaXMuaGVhdG1hcCQuY29tcGxldGUoKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuaGVhdG1hcDtcbiAgICAgIH0pLFxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICog6ZSA5q+B54Ot5Yqb5Zu+XG4gICAqL1xuICBkZXN0cm95KCkge1xuICAgIHRoaXMuZ2V0KCkuc3Vic2NyaWJlKGhlYXRtYXAgPT4ge1xuICAgICAgaGVhdG1hcC5zZXRNYXAobnVsbCk7XG4gICAgICB0aGlzLmxvZ2dlci5kKFRBRywgJ0hlYXRtYXAgZGVzdHJveWVkLicpO1xuICAgICAgdGhpcy5oZWF0bWFwID0gbnVsbDtcbiAgICB9KTtcbiAgfVxufVxuIl19