UNPKG

ngx-amap

Version:

[![npm](https://img.shields.io/npm/v/ngx-amap.svg)][npm-badge-url] [![npm](https://img.shields.io/npm/dm/ngx-amap.svg)][npm-badge-url] [![Build Status](https://travis-ci.org/xieziyu/ngx-amap.svg?branch=master)][ci-url]

227 lines 12.6 kB
/** * @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