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]

106 lines 6.74 kB
/** * @fileoverview added by tsickle * Generated from: directives/amap-circle-marker/amap-circle-marker.service.ts * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ import { Injectable, NgZone } from '@angular/core'; import { ReplaySubject } from 'rxjs'; import { map } from 'rxjs/operators'; import { AMapService } from '../../shared/amap.service'; import { LoggerService } from '../../shared/logger/logger.service'; /** @type {?} */ const TAG = 'AmapCircleMarker'; export class AmapCircleMarkerService { /** * @param {?} amaps * @param {?} logger * @param {?} ngZone */ constructor(amaps, logger, ngZone) { this.amaps = amaps; this.logger = logger; this.ngZone = ngZone; this.circle$ = new ReplaySubject(1); } /** * 获取圆点标记 * @return {?} */ get() { return this.circle$.asObservable(); } /** * 创建圆点标记 AMap.CircleMarker * @param {?} options 选项 * @return {?} */ create(options) { return this.amaps.get().pipe(map((/** * @param {?} m * @return {?} */ m => { options.map = m; this.circle = this.ngZone.runOutsideAngular((/** * @return {?} */ () => new AMap.CircleMarker(options))); this.logger.d(TAG, 'new CircleMarker created.'); this.circle$.next(this.circle); this.circle$.complete(); return this.circle; }))); } /** * 销毁圆点标记 * @return {?} */ destroy() { this.get().subscribe((/** * @param {?} m * @return {?} */ m => { m.setMap(null); this.logger.d(TAG, 'CircleMarker destroyed.'); this.circle = null; })); } } AmapCircleMarkerService.decorators = [ { type: Injectable } ]; /** @nocollapse */ AmapCircleMarkerService.ctorParameters = () => [ { type: AMapService }, { type: LoggerService }, { type: NgZone } ]; if (false) { /** * @type {?} * @private */ AmapCircleMarkerService.prototype.circle; /** * @type {?} * @private */ AmapCircleMarkerService.prototype.circle$; /** * @type {?} * @private */ AmapCircleMarkerService.prototype.amaps; /** * @type {?} * @private */ AmapCircleMarkerService.prototype.logger; /** * @type {?} * @private */ AmapCircleMarkerService.prototype.ngZone; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW1hcC1jaXJjbGUtbWFya2VyLnNlcnZpY2UuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9uZ3gtYW1hcC8iLCJzb3VyY2VzIjpbImRpcmVjdGl2ZXMvYW1hcC1jaXJjbGUtbWFya2VyL2FtYXAtY2lyY2xlLW1hcmtlci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNyQyxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDckMsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQzs7TUFHN0QsR0FBRyxHQUFHLGtCQUFrQjtBQUc5QixNQUFNLE9BQU8sdUJBQXVCOzs7Ozs7SUFJbEMsWUFBb0IsS0FBa0IsRUFBVSxNQUFxQixFQUFVLE1BQWM7UUFBekUsVUFBSyxHQUFMLEtBQUssQ0FBYTtRQUFVLFdBQU0sR0FBTixNQUFNLENBQWU7UUFBVSxXQUFNLEdBQU4sTUFBTSxDQUFRO1FBRnJGLFlBQU8sR0FBRyxJQUFJLGFBQWEsQ0FBb0IsQ0FBQyxDQUFDLENBQUM7SUFFc0MsQ0FBQzs7Ozs7SUFLakcsR0FBRztRQUNELE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUNyQyxDQUFDOzs7Ozs7SUFNRCxNQUFNLENBQUMsT0FBNEI7UUFDakMsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FDMUIsR0FBRzs7OztRQUFDLENBQUMsQ0FBQyxFQUFFO1lBQ04sT0FBTyxDQUFDLEdBQUcsR0FBRyxDQUFDLENBQUM7WUFDaEIsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLGlCQUFpQjs7O1lBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxJQUFJLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxFQUFDLENBQUM7WUFDbEYsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFLDJCQUEyQixDQUFDLENBQUM7WUFDaEQsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQy9CLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDeEIsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDO1FBQ3JCLENBQUMsRUFBQyxDQUNILENBQUM7SUFDSixDQUFDOzs7OztJQUtELE9BQU87UUFDTCxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsU0FBUzs7OztRQUFDLENBQUMsQ0FBQyxFQUFFO1lBQ3ZCLENBQUMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDZixJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUUseUJBQXlCLENBQUMsQ0FBQztZQUM5QyxJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQztRQUNyQixDQUFDLEVBQUMsQ0FBQztJQUNMLENBQUM7OztZQXhDRixVQUFVOzs7O1lBTkYsV0FBVztZQUNYLGFBQWE7WUFKRCxNQUFNOzs7Ozs7O0lBV3pCLHlDQUFrQzs7Ozs7SUFDbEMsMENBQTBEOzs7OztJQUU5Qyx3Q0FBMEI7Ozs7O0lBQUUseUNBQTZCOzs7OztJQUFFLHlDQUFzQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIE5nWm9uZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUmVwbGF5U3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgQU1hcFNlcnZpY2UgfSBmcm9tICcuLi8uLi9zaGFyZWQvYW1hcC5zZXJ2aWNlJztcbmltcG9ydCB7IExvZ2dlclNlcnZpY2UgfSBmcm9tICcuLi8uLi9zaGFyZWQvbG9nZ2VyL2xvZ2dlci5zZXJ2aWNlJztcbmltcG9ydCB7IEdldHRlciB9IGZyb20gJy4uLy4uL2Jhc2UvaW50ZXJmYWNlcyc7XG5cbmNvbnN0IFRBRyA9ICdBbWFwQ2lyY2xlTWFya2VyJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIEFtYXBDaXJjbGVNYXJrZXJTZXJ2aWNlIGltcGxlbWVudHMgR2V0dGVyPEFNYXAuQ2lyY2xlTWFya2VyPiB7XG4gIHByaXZhdGUgY2lyY2xlOiBBTWFwLkNpcmNsZU1hcmtlcjtcbiAgcHJpdmF0ZSBjaXJjbGUkID0gbmV3IFJlcGxheVN1YmplY3Q8QU1hcC5DaXJjbGVNYXJrZXI+KDEpO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgYW1hcHM6IEFNYXBTZXJ2aWNlLCBwcml2YXRlIGxvZ2dlcjogTG9nZ2VyU2VydmljZSwgcHJpdmF0ZSBuZ1pvbmU6IE5nWm9uZSkge31cblxuICAvKipcbiAgICog6I635Y+W5ZyG54K55qCH6K6wXG4gICAqL1xuICBnZXQoKSB7XG4gICAgcmV0dXJuIHRoaXMuY2lyY2xlJC5hc09ic2VydmFibGUoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiDliJvlu7rlnIbngrnmoIforrAgQU1hcC5DaXJjbGVNYXJrZXJcbiAgICogQHBhcmFtIG9wdGlvbnMg6YCJ6aG5XG4gICAqL1xuICBjcmVhdGUob3B0aW9uczogQU1hcC5DaXJjbGUuT3B0aW9ucykge1xuICAgIHJldHVybiB0aGlzLmFtYXBzLmdldCgpLnBpcGUoXG4gICAgICBtYXAobSA9PiB7XG4gICAgICAgIG9wdGlvbnMubWFwID0gbTtcbiAgICAgICAgdGhpcy5jaXJjbGUgPSB0aGlzLm5nWm9uZS5ydW5PdXRzaWRlQW5ndWxhcigoKSA9PiBuZXcgQU1hcC5DaXJjbGVNYXJrZXIob3B0aW9ucykpO1xuICAgICAgICB0aGlzLmxvZ2dlci5kKFRBRywgJ25ldyBDaXJjbGVNYXJrZXIgY3JlYXRlZC4nKTtcbiAgICAgICAgdGhpcy5jaXJjbGUkLm5leHQodGhpcy5jaXJjbGUpO1xuICAgICAgICB0aGlzLmNpcmNsZSQuY29tcGxldGUoKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuY2lyY2xlO1xuICAgICAgfSksXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiDplIDmr4HlnIbngrnmoIforrBcbiAgICovXG4gIGRlc3Ryb3koKSB7XG4gICAgdGhpcy5nZXQoKS5zdWJzY3JpYmUobSA9PiB7XG4gICAgICBtLnNldE1hcChudWxsKTtcbiAgICAgIHRoaXMubG9nZ2VyLmQoVEFHLCAnQ2lyY2xlTWFya2VyIGRlc3Ryb3llZC4nKTtcbiAgICAgIHRoaXMuY2lyY2xlID0gbnVsbDtcbiAgICB9KTtcbiAgfVxufVxuIl19