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]

160 lines 10.2 kB
/** * @fileoverview added by tsickle * Generated from: directives/ui-simple-marker/ui-simple-marker.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 { AmapUILoaderService } from '../../shared/amap-ui-loader.service'; import { LoggerService } from '../../shared/logger/logger.service'; export var AMapUISimpleMarker; (function (AMapUISimpleMarker) { /** * @record * @template ExtraData */ function Options() { } AMapUISimpleMarker.Options = Options; if (false) { /** * 样式主题 * @type {?|undefined} */ Options.prototype.iconTheme; /** * 背景图标样式 * @type {?|undefined} */ Options.prototype.iconStyle; /** * 图标前景文字 * @type {?|undefined} */ Options.prototype.iconLabel; /** * 是否显示定位点 * @type {?|undefined} */ Options.prototype.showPositionPoint; /** * 内建的Dom容器上附带的class,多个class name用空格分开 * @type {?|undefined} */ Options.prototype.containerClassNames; } })(AMapUISimpleMarker || (AMapUISimpleMarker = {})); /** @type {?} */ const TAG = 'UISimpleMarker'; export class UISimpleMarkerService { /** * @param {?} amaps * @param {?} uiLoader * @param {?} logger * @param {?} ngZone */ constructor(amaps, uiLoader, logger, ngZone) { this.amaps = amaps; this.uiLoader = uiLoader; this.logger = logger; this.ngZone = ngZone; this.marker$ = new ReplaySubject(1); this.ui = (/** @type {?} */ (this.uiLoader.load('overlay/SimpleMarker'))); } /** * 获取点标记 * @return {?} */ get() { return this.marker$.asObservable(); } /** * 创建点标记 AMap.SimpleMarker * @param {?} options 选项 * @param {?=} addToMap 是否直接加进地图 * @return {?} */ create(options, addToMap = true) { return zip(this.ui, this.amaps.get()).pipe(map((/** * @param {?} __0 * @return {?} */ ([SimpleMarker, m]) => { if (addToMap) { options.map = m; } this.marker = this.ngZone.runOutsideAngular((/** * @return {?} */ () => new SimpleMarker(options))); this.logger.d(TAG, 'new simple marker created.'); this.marker$.next(this.marker); this.marker$.complete(); return this.marker; }))); } /** * 销毁点标记 * @return {?} */ destroy() { this.get().subscribe((/** * @param {?} m * @return {?} */ m => { m.setMap(null); this.logger.d(TAG, 'simple marker destroyed.'); this.marker = null; })); } } UISimpleMarkerService.decorators = [ { type: Injectable } ]; /** @nocollapse */ UISimpleMarkerService.ctorParameters = () => [ { type: AMapService }, { type: AmapUILoaderService }, { type: LoggerService }, { type: NgZone } ]; if (false) { /** * @type {?} * @private */ UISimpleMarkerService.prototype.marker; /** * @type {?} * @private */ UISimpleMarkerService.prototype.marker$; /** * @type {?} * @private */ UISimpleMarkerService.prototype.ui; /** * @type {?} * @private */ UISimpleMarkerService.prototype.amaps; /** * @type {?} * @private */ UISimpleMarkerService.prototype.uiLoader; /** * @type {?} * @private */ UISimpleMarkerService.prototype.logger; /** * @type {?} * @private */ UISimpleMarkerService.prototype.ngZone; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidWktc2ltcGxlLW1hcmtlci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vbmd4LWFtYXAvIiwic291cmNlcyI6WyJkaXJlY3RpdmVzL3VpLXNpbXBsZS1tYXJrZXIvdWktc2ltcGxlLW1hcmtlci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFFLGFBQWEsRUFBRSxHQUFHLEVBQWMsTUFBTSxNQUFNLENBQUM7QUFDdEQsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3JDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUN4RCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUMxRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFHbkUsTUFBTSxLQUFXLGtCQUFrQixDQXVCbEM7QUF2QkQsV0FBaUIsa0JBQWtCOzs7OztJQUNqQyxzQkFxQkM7Ozs7Ozs7UUFqQkMsNEJBQW9EOzs7OztRQUlwRCw0QkFBNEI7Ozs7O1FBSTVCLDRCQUE0Qjs7Ozs7UUFJNUIsb0NBQXFDOzs7OztRQUlyQyxzQ0FBNkI7O0FBRWpDLENBQUMsRUF2QmdCLGtCQUFrQixLQUFsQixrQkFBa0IsUUF1QmxDOztNQUVLLEdBQUcsR0FBRyxnQkFBZ0I7QUFHNUIsTUFBTSxPQUFPLHFCQUFxQjs7Ozs7OztJQUtoQyxZQUNVLEtBQWtCLEVBQ2xCLFFBQTZCLEVBQzdCLE1BQXFCLEVBQ3JCLE1BQWM7UUFIZCxVQUFLLEdBQUwsS0FBSyxDQUFhO1FBQ2xCLGFBQVEsR0FBUixRQUFRLENBQXFCO1FBQzdCLFdBQU0sR0FBTixNQUFNLENBQWU7UUFDckIsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQVBoQixZQUFPLEdBQUcsSUFBSSxhQUFhLENBQU0sQ0FBQyxDQUFDLENBQUM7UUFDcEMsT0FBRSxHQUFHLG1CQUFBLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLHNCQUFzQixDQUFDLEVBQW1CLENBQUM7SUFPeEUsQ0FBQzs7Ozs7SUFLSixHQUFHO1FBQ0QsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ3JDLENBQUM7Ozs7Ozs7SUFPRCxNQUFNLENBQUMsT0FBbUMsRUFBRSxRQUFRLEdBQUcsSUFBSTtRQUN6RCxPQUFPLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQ3hDLEdBQUc7Ozs7UUFBQyxDQUFDLENBQUMsWUFBWSxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUU7WUFDeEIsSUFBSSxRQUFRLEVBQUU7Z0JBQ1osT0FBTyxDQUFDLEdBQUcsR0FBRyxDQUFDLENBQUM7YUFDakI7WUFDRCxJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsaUJBQWlCOzs7WUFBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLFlBQVksQ0FBQyxPQUFPLENBQUMsRUFBQyxDQUFDO1lBQzdFLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSw0QkFBNEIsQ0FBQyxDQUFDO1lBQ2pELElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUMvQixJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ3hCLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQztRQUNyQixDQUFDLEVBQUMsQ0FDSCxDQUFDO0lBQ0osQ0FBQzs7Ozs7SUFLRCxPQUFPO1FBQ0wsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLFNBQVM7Ozs7UUFBQyxDQUFDLENBQUMsRUFBRTtZQUN2QixDQUFDLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ2YsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFLDBCQUEwQixDQUFDLENBQUM7WUFDL0MsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUM7UUFDckIsQ0FBQyxFQUFDLENBQUM7SUFDTCxDQUFDOzs7WUFqREYsVUFBVTs7OztZQWhDRixXQUFXO1lBQ1gsbUJBQW1CO1lBQ25CLGFBQWE7WUFMRCxNQUFNOzs7Ozs7O0lBcUN6Qix1Q0FBb0I7Ozs7O0lBQ3BCLHdDQUE0Qzs7Ozs7SUFDNUMsbUNBQTJFOzs7OztJQUd6RSxzQ0FBMEI7Ozs7O0lBQzFCLHlDQUFxQzs7Ozs7SUFDckMsdUNBQTZCOzs7OztJQUM3Qix1Q0FBc0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlLCBOZ1pvbmUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFJlcGxheVN1YmplY3QsIHppcCwgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgQU1hcFNlcnZpY2UgfSBmcm9tICcuLi8uLi9zaGFyZWQvYW1hcC5zZXJ2aWNlJztcbmltcG9ydCB7IEFtYXBVSUxvYWRlclNlcnZpY2UgfSBmcm9tICcuLi8uLi9zaGFyZWQvYW1hcC11aS1sb2FkZXIuc2VydmljZSc7XG5pbXBvcnQgeyBMb2dnZXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2hhcmVkL2xvZ2dlci9sb2dnZXIuc2VydmljZSc7XG5pbXBvcnQgeyBHZXR0ZXIgfSBmcm9tICcuLi8uLi9iYXNlL2ludGVyZmFjZXMnO1xuXG5leHBvcnQgbmFtZXNwYWNlIEFNYXBVSVNpbXBsZU1hcmtlciB7XG4gIGV4cG9ydCBpbnRlcmZhY2UgT3B0aW9uczxFeHRyYURhdGEgPSBhbnk+IGV4dGVuZHMgQU1hcC5NYXJrZXIuT3B0aW9uczxFeHRyYURhdGE+IHtcbiAgICAvKipcbiAgICAgKiDmoLflvI/kuLvpophcbiAgICAgKi9cbiAgICBpY29uVGhlbWU/OiAnZGVmYXVsdCcgfCAnZnJlc2gnIHwgJ251bXYxJyB8ICdudW12Mic7XG4gICAgLyoqXG4gICAgICog6IOM5pmv5Zu+5qCH5qC35byPXG4gICAgICovXG4gICAgaWNvblN0eWxlPzogc3RyaW5nIHwgb2JqZWN0O1xuICAgIC8qKlxuICAgICAqIOWbvuagh+WJjeaZr+aWh+Wtl1xuICAgICAqL1xuICAgIGljb25MYWJlbD86IHN0cmluZyB8IG9iamVjdDtcbiAgICAvKipcbiAgICAgKiDmmK/lkKbmmL7npLrlrprkvY3ngrlcbiAgICAgKi9cbiAgICBzaG93UG9zaXRpb25Qb2ludD86IGJvb2xlYW4gfCBvYmplY3Q7XG4gICAgLyoqXG4gICAgICog5YaF5bu655qERG9t5a655Zmo5LiK6ZmE5bim55qEY2xhc3PvvIzlpJrkuKpjbGFzcyBuYW1l55So56m65qC85YiG5byAXG4gICAgICovXG4gICAgY29udGFpbmVyQ2xhc3NOYW1lcz86IHN0cmluZztcbiAgfVxufVxuXG5jb25zdCBUQUcgPSAnVUlTaW1wbGVNYXJrZXInO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgVUlTaW1wbGVNYXJrZXJTZXJ2aWNlIGltcGxlbWVudHMgR2V0dGVyPGFueT4ge1xuICBwcml2YXRlIG1hcmtlcjogYW55O1xuICBwcml2YXRlIG1hcmtlciQgPSBuZXcgUmVwbGF5U3ViamVjdDxhbnk+KDEpO1xuICBwcml2YXRlIHVpID0gdGhpcy51aUxvYWRlci5sb2FkKCdvdmVybGF5L1NpbXBsZU1hcmtlcicpIGFzIE9ic2VydmFibGU8YW55PjtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGFtYXBzOiBBTWFwU2VydmljZSxcbiAgICBwcml2YXRlIHVpTG9hZGVyOiBBbWFwVUlMb2FkZXJTZXJ2aWNlLFxuICAgIHByaXZhdGUgbG9nZ2VyOiBMb2dnZXJTZXJ2aWNlLFxuICAgIHByaXZhdGUgbmdab25lOiBOZ1pvbmUsXG4gICkge31cblxuICAvKipcbiAgICog6I635Y+W54K55qCH6K6wXG4gICAqL1xuICBnZXQoKSB7XG4gICAgcmV0dXJuIHRoaXMubWFya2VyJC5hc09ic2VydmFibGUoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiDliJvlu7rngrnmoIforrAgQU1hcC5TaW1wbGVNYXJrZXJcbiAgICogQHBhcmFtIG9wdGlvbnMg6YCJ6aG5XG4gICAqIEBwYXJhbSBhZGRUb01hcCDmmK/lkKbnm7TmjqXliqDov5vlnLDlm75cbiAgICovXG4gIGNyZWF0ZShvcHRpb25zOiBBTWFwVUlTaW1wbGVNYXJrZXIuT3B0aW9ucywgYWRkVG9NYXAgPSB0cnVlKSB7XG4gICAgcmV0dXJuIHppcCh0aGlzLnVpLCB0aGlzLmFtYXBzLmdldCgpKS5waXBlKFxuICAgICAgbWFwKChbU2ltcGxlTWFya2VyLCBtXSkgPT4ge1xuICAgICAgICBpZiAoYWRkVG9NYXApIHtcbiAgICAgICAgICBvcHRpb25zLm1hcCA9IG07XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5tYXJrZXIgPSB0aGlzLm5nWm9uZS5ydW5PdXRzaWRlQW5ndWxhcigoKSA9PiBuZXcgU2ltcGxlTWFya2VyKG9wdGlvbnMpKTtcbiAgICAgICAgdGhpcy5sb2dnZXIuZChUQUcsICduZXcgc2ltcGxlIG1hcmtlciBjcmVhdGVkLicpO1xuICAgICAgICB0aGlzLm1hcmtlciQubmV4dCh0aGlzLm1hcmtlcik7XG4gICAgICAgIHRoaXMubWFya2VyJC5jb21wbGV0ZSgpO1xuICAgICAgICByZXR1cm4gdGhpcy5tYXJrZXI7XG4gICAgICB9KSxcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIOmUgOavgeeCueagh+iusFxuICAgKi9cbiAgZGVzdHJveSgpIHtcbiAgICB0aGlzLmdldCgpLnN1YnNjcmliZShtID0+IHtcbiAgICAgIG0uc2V0TWFwKG51bGwpO1xuICAgICAgdGhpcy5sb2dnZXIuZChUQUcsICdzaW1wbGUgbWFya2VyIGRlc3Ryb3llZC4nKTtcbiAgICAgIHRoaXMubWFya2VyID0gbnVsbDtcbiAgICB9KTtcbiAgfVxufVxuIl19