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]

204 lines 11.7 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 { 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 {?} */ const 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 = {})); export class AmapHeatmapService { /** * @param {?} amaps * @param {?} plugin * @param {?} logger * @param {?} ngZone */ constructor(amaps, plugin, logger, ngZone) { this.amaps = amaps; this.plugin = plugin; this.logger = logger; this.ngZone = ngZone; this.heatmap$ = new ReplaySubject(1); } /** * 获取热力图 * @return {?} */ get() { return this.heatmap$.asObservable(); } /** * 创建热力图 AMap.Heatmap * @param {?} options 选项 * @return {?} */ create(options) { return zip(this.amaps.get(), this.plugin.load('AMap.Heatmap')).pipe(map((/** * @param {?} __0 * @return {?} */ ([m]) => { this.heatmap = this.ngZone.runOutsideAngular((/** * @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 {?} */ destroy() { this.get().subscribe((/** * @param {?} heatmap * @return {?} */ heatmap => { heatmap.setMap(null); this.logger.d(TAG, 'Heatmap destroyed.'); this.heatmap = null; })); } } AmapHeatmapService.decorators = [ { type: Injectable } ]; /** @nocollapse */ AmapHeatmapService.ctorParameters = () => [ { type: AMapService }, { type: PluginLoaderService }, { type: LoggerService }, { type: NgZone } ]; 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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW1hcC1oZWF0bWFwLnNlcnZpY2UuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9uZ3gtYW1hcC8iLCJzb3VyY2VzIjpbImRpcmVjdGl2ZXMvYW1hcC1oZWF0bWFwL2FtYXAtaGVhdG1hcC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFFLGFBQWEsRUFBRSxHQUFHLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDMUMsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3JDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUN4RCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUN6RSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sb0NBQW9DLENBQUM7O01BSTdELEdBQUcsR0FBRyxhQUFhO0FBRXpCLE1BQU0sS0FBVyxXQUFXLENBMEQzQjtBQTFERCxXQUFpQixXQUFXOzs7O0lBQzFCLHNCQWdDQzs7Ozs7OztRQTVCQyx5QkFBZ0I7Ozs7O1FBSWhCLDJCQUFxQzs7Ozs7O1FBS3JDLDBCQUEyQjs7Ozs7O1FBSzNCLHdCQUF5Qjs7UUFFekIsZ0NBQXdCOztRQUN4QiwwQkFBa0I7O1FBQ2xCLDZCQUFvQjs7UUFDcEIsdUJBQWM7O1FBQ2QseUJBQWdCOztRQUNoQixrQ0FBMEI7Ozs7Ozs7Ozs7OztJQVE1QixtQkFhQzs7Ozs7OztRQVRDLG1CQUFZOzs7OztRQUlaLG1CQUFZOzs7OztRQUlaLHFCQUFjOzs7OztJQUVoQixzQkFTQzs7Ozs7OztRQUxDLHNCQUFhOzs7OztRQUliLHVCQUFhOztBQUVqQixDQUFDLEVBMURnQixXQUFXLEtBQVgsV0FBVyxRQTBEM0I7QUFHRCxNQUFNLE9BQU8sa0JBQWtCOzs7Ozs7O0lBSTdCLFlBQ1UsS0FBa0IsRUFDbEIsTUFBMkIsRUFDM0IsTUFBcUIsRUFDckIsTUFBYztRQUhkLFVBQUssR0FBTCxLQUFLLENBQWE7UUFDbEIsV0FBTSxHQUFOLE1BQU0sQ0FBcUI7UUFDM0IsV0FBTSxHQUFOLE1BQU0sQ0FBZTtRQUNyQixXQUFNLEdBQU4sTUFBTSxDQUFRO1FBTmhCLGFBQVEsR0FBRyxJQUFJLGFBQWEsQ0FBTSxDQUFDLENBQUMsQ0FBQztJQU8xQyxDQUFDOzs7OztJQUtKLEdBQUc7UUFDRCxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDdEMsQ0FBQzs7Ozs7O0lBTUQsTUFBTSxDQUFDLE9BQTRCO1FBQ2pDLE9BQU8sR0FBRyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxFQUFFLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQ2pFLEdBQUc7Ozs7UUFBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTtZQUNWLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxpQkFBaUI7OztZQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLEVBQUUsT0FBTyxDQUFDLEVBQUMsQ0FBQztZQUNqRixJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUUsc0JBQXNCLENBQUMsQ0FBQztZQUMzQyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDakMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUN6QixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUM7UUFDdEIsQ0FBQyxFQUFDLENBQ0gsQ0FBQztJQUNKLENBQUM7Ozs7O0lBS0QsT0FBTztRQUNMLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxTQUFTOzs7O1FBQUMsT0FBTyxDQUFDLEVBQUU7WUFDN0IsT0FBTyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUNyQixJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUUsb0JBQW9CLENBQUMsQ0FBQztZQUN6QyxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQztRQUN0QixDQUFDLEVBQUMsQ0FBQztJQUNMLENBQUM7OztZQTVDRixVQUFVOzs7O1lBcEVGLFdBQVc7WUFDWCxtQkFBbUI7WUFDbkIsYUFBYTtZQUxELE1BQU07Ozs7Ozs7SUF5RXpCLHFDQUFxQjs7Ozs7SUFDckIsc0NBQTZDOzs7OztJQUczQyxtQ0FBMEI7Ozs7O0lBQzFCLG9DQUFtQzs7Ozs7SUFDbkMsb0NBQTZCOzs7OztJQUM3QixvQ0FBc0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlLCBOZ1pvbmUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFJlcGxheVN1YmplY3QsIHppcCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgQU1hcFNlcnZpY2UgfSBmcm9tICcuLi8uLi9zaGFyZWQvYW1hcC5zZXJ2aWNlJztcbmltcG9ydCB7IFBsdWdpbkxvYWRlclNlcnZpY2UgfSBmcm9tICcuLi8uLi9zaGFyZWQvcGx1Z2luLWxvYWRlci5zZXJ2aWNlJztcbmltcG9ydCB7IExvZ2dlclNlcnZpY2UgfSBmcm9tICcuLi8uLi9zaGFyZWQvbG9nZ2VyL2xvZ2dlci5zZXJ2aWNlJztcbmltcG9ydCB7IEdldHRlciB9IGZyb20gJy4uLy4uL2Jhc2UvaW50ZXJmYWNlcyc7XG5kZWNsYXJlIGNvbnN0IEFNYXA6IGFueTtcblxuY29uc3QgVEFHID0gJ0FtYXBIZWF0bWFwJztcblxuZXhwb3J0IG5hbWVzcGFjZSBBTWFwSGVhdG1hcCB7XG4gIGV4cG9ydCBpbnRlcmZhY2UgT3B0aW9ucyB7XG4gICAgLyoqXG4gICAgICog54Ot5Yqb5Zu+5Lit5Y2V5Liq54K555qE5Y2K5b6E77yM6buY6K6k77yaMzDvvIzljZXkvY3vvJpwaXhlbFxuICAgICAqL1xuICAgIHJhZGl1cz86IG51bWJlcjtcbiAgICAvKipcbiAgICAgKiDng63lipvlm77nmoTmuJDlj5jljLrpl7RcbiAgICAgKi9cbiAgICBncmFkaWVudD86IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH07XG4gICAgLyoqXG4gICAgICog54Ot5Yqb5Zu+6YCP5piO5bqm5pWw57uE77yM5Y+W5YC86IyD5Zu0WzAsMV3vvIww6KGo56S65a6M5YWo6YCP5piO77yMMeihqOekuuS4jemAj+aYjlxuICAgICAqIOm7mOiupO+8mlswLDFdXG4gICAgICovXG4gICAgb3BhY2l0eT86IFtudW1iZXIsIG51bWJlcl07XG4gICAgLyoqXG4gICAgICog5pSv5oyB55qE57yp5pS+57qn5Yir6IyD5Zu077yM5Y+W5YC86IyD5Zu0WzMtMThdXG4gICAgICog6buY6K6k77yaWzMsMThdXG4gICAgICovXG4gICAgem9vbXM/OiBbbnVtYmVyLCBudW1iZXJdO1xuXG4gICAgcmVqZWN0TWFwTWFzaz86IGJvb2xlYW47XG4gICAgdmlzaWJsZT86IGJvb2xlYW47XG4gICAgcmFkaXVzVW5pdD86IHN0cmluZztcbiAgICBibHVyPzogbnVtYmVyO1xuICAgIHpJbmRleD86IG51bWJlcjtcbiAgICByZW5kZXJPblpvb21pbmc/OiBib29sZWFuO1xuICAgIFsnM2QnXT86IHtcbiAgICAgIGhlaWdodFNjYWxlPzogbnVtYmVyO1xuICAgICAgaGVpZ2h0QmV6aWVyPzogbnVtYmVyW107XG4gICAgICBncmlkU2l6ZT86IG51bWJlcjtcbiAgICAgIGRyYXdHcmlkTGluZT86IGJvb2xlYW47XG4gICAgfTtcbiAgfVxuICBleHBvcnQgaW50ZXJmYWNlIERhdGEge1xuICAgIC8qKlxuICAgICAqIOe7j+W6plxuICAgICAqL1xuICAgIGxuZzogbnVtYmVyO1xuICAgIC8qKlxuICAgICAqIOe7tOW6plxuICAgICAqL1xuICAgIGxhdDogbnVtYmVyO1xuICAgIC8qKlxuICAgICAqIOadg+mHjVxuICAgICAqL1xuICAgIGNvdW50OiBudW1iZXI7XG4gIH1cbiAgZXhwb3J0IGludGVyZmFjZSBEYXRhU2V0IHtcbiAgICAvKipcbiAgICAgKiDmnYPph43nmoTmnIDlpKflgLxcbiAgICAgKi9cbiAgICBtYXg/OiBudW1iZXI7XG4gICAgLyoqXG4gICAgICog5Z2Q5qCH5pWw5o2u6ZuGXG4gICAgICovXG4gICAgZGF0YTogRGF0YVtdO1xuICB9XG59XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBBbWFwSGVhdG1hcFNlcnZpY2UgaW1wbGVtZW50cyBHZXR0ZXI8YW55PiB7XG4gIHByaXZhdGUgaGVhdG1hcDogYW55O1xuICBwcml2YXRlIGhlYXRtYXAkID0gbmV3IFJlcGxheVN1YmplY3Q8YW55PigxKTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGFtYXBzOiBBTWFwU2VydmljZSxcbiAgICBwcml2YXRlIHBsdWdpbjogUGx1Z2luTG9hZGVyU2VydmljZSxcbiAgICBwcml2YXRlIGxvZ2dlcjogTG9nZ2VyU2VydmljZSxcbiAgICBwcml2YXRlIG5nWm9uZTogTmdab25lLFxuICApIHt9XG5cbiAgLyoqXG4gICAqIOiOt+WPlueDreWKm+WbvlxuICAgKi9cbiAgZ2V0KCkge1xuICAgIHJldHVybiB0aGlzLmhlYXRtYXAkLmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgLyoqXG4gICAqIOWIm+W7uueDreWKm+WbviBBTWFwLkhlYXRtYXBcbiAgICogQHBhcmFtIG9wdGlvbnMg6YCJ6aG5XG4gICAqL1xuICBjcmVhdGUob3B0aW9uczogQU1hcEhlYXRtYXAuT3B0aW9ucykge1xuICAgIHJldHVybiB6aXAodGhpcy5hbWFwcy5nZXQoKSwgdGhpcy5wbHVnaW4ubG9hZCgnQU1hcC5IZWF0bWFwJykpLnBpcGUoXG4gICAgICBtYXAoKFttXSkgPT4ge1xuICAgICAgICB0aGlzLmhlYXRtYXAgPSB0aGlzLm5nWm9uZS5ydW5PdXRzaWRlQW5ndWxhcigoKSA9PiBuZXcgQU1hcC5IZWF0bWFwKG0sIG9wdGlvbnMpKTtcbiAgICAgICAgdGhpcy5sb2dnZXIuZChUQUcsICduZXcgSGVhdG1hcCBjcmVhdGVkLicpO1xuICAgICAgICB0aGlzLmhlYXRtYXAkLm5leHQodGhpcy5oZWF0bWFwKTtcbiAgICAgICAgdGhpcy5oZWF0bWFwJC5jb21wbGV0ZSgpO1xuICAgICAgICByZXR1cm4gdGhpcy5oZWF0bWFwO1xuICAgICAgfSksXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiDplIDmr4Hng63lipvlm75cbiAgICovXG4gIGRlc3Ryb3koKSB7XG4gICAgdGhpcy5nZXQoKS5zdWJzY3JpYmUoaGVhdG1hcCA9PiB7XG4gICAgICBoZWF0bWFwLnNldE1hcChudWxsKTtcbiAgICAgIHRoaXMubG9nZ2VyLmQoVEFHLCAnSGVhdG1hcCBkZXN0cm95ZWQuJyk7XG4gICAgICB0aGlzLmhlYXRtYXAgPSBudWxsO1xuICAgIH0pO1xuICB9XG59XG4iXX0=