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]

171 lines 10.7 kB
/** * @fileoverview added by tsickle * Generated from: directives/ui-awesome-marker/ui-awesome-marker.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 { AmapUILoaderService } from '../../shared/amap-ui-loader.service'; import { LoggerService } from '../../shared/logger/logger.service'; export var AMapUIAwesomeMarker; (function (AMapUIAwesomeMarker) { /** * @record * @template ExtraData */ function Options() { } AMapUIAwesomeMarker.Options = Options; if (false) { /** * icon 的名称,可用的 icons 参见 Font Awesome 官网 * @type {?|undefined} */ Options.prototype.awesomeIcon; /** * 返回字体节点上的 classNames * @type {?|undefined} */ Options.prototype.getClassnamesOfAwesomeIcon; } })(AMapUIAwesomeMarker || (AMapUIAwesomeMarker = {})); /** @type {?} */ var TAG = 'UIAwesomeMarker'; var UIAwesomeMarkerService = /** @class */ (function () { function UIAwesomeMarkerService(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/AwesomeMarker'))); } /** * 获取点标记 */ /** * 获取点标记 * @return {?} */ UIAwesomeMarkerService.prototype.get = /** * 获取点标记 * @return {?} */ function () { return this.marker$.asObservable(); }; /** * 创建点标记 AMap.AwesomeMarker * @param options 选项 * @param addToMap 是否直接加进地图 */ /** * 创建点标记 AMap.AwesomeMarker * @param {?} options 选项 * @param {?=} addToMap 是否直接加进地图 * @return {?} */ UIAwesomeMarkerService.prototype.create = /** * 创建点标记 AMap.AwesomeMarker * @param {?} options 选项 * @param {?=} addToMap 是否直接加进地图 * @return {?} */ function (options, addToMap) { var _this = this; if (addToMap === void 0) { addToMap = true; } return zip(this.ui, this.amaps.get()).pipe(map((/** * @param {?} __0 * @return {?} */ function (_a) { var _b = tslib_1.__read(_a, 2), AwesomeMarker = _b[0], m = _b[1]; if (addToMap) { options.map = m; } _this.marker = _this.ngZone.runOutsideAngular((/** * @return {?} */ function () { return new AwesomeMarker(options); })); _this.logger.d(TAG, 'new awesome marker created.'); _this.marker$.next(_this.marker); _this.marker$.complete(); return _this.marker; }))); }; /** * 销毁点标记 */ /** * 销毁点标记 * @return {?} */ UIAwesomeMarkerService.prototype.destroy = /** * 销毁点标记 * @return {?} */ function () { var _this = this; this.get().subscribe((/** * @param {?} m * @return {?} */ function (m) { m.setMap(null); _this.logger.d(TAG, 'awesome marker destroyed.'); _this.marker = null; })); }; UIAwesomeMarkerService.decorators = [ { type: Injectable } ]; /** @nocollapse */ UIAwesomeMarkerService.ctorParameters = function () { return [ { type: AMapService }, { type: AmapUILoaderService }, { type: LoggerService }, { type: NgZone } ]; }; return UIAwesomeMarkerService; }()); export { UIAwesomeMarkerService }; if (false) { /** * @type {?} * @private */ UIAwesomeMarkerService.prototype.marker; /** * @type {?} * @private */ UIAwesomeMarkerService.prototype.marker$; /** * @type {?} * @private */ UIAwesomeMarkerService.prototype.ui; /** * @type {?} * @private */ UIAwesomeMarkerService.prototype.amaps; /** * @type {?} * @private */ UIAwesomeMarkerService.prototype.uiLoader; /** * @type {?} * @private */ UIAwesomeMarkerService.prototype.logger; /** * @type {?} * @private */ UIAwesomeMarkerService.prototype.ngZone; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidWktYXdlc29tZS1tYXJrZXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL25neC1hbWFwLyIsInNvdXJjZXMiOlsiZGlyZWN0aXZlcy91aS1hd2Vzb21lLW1hcmtlci91aS1hd2Vzb21lLW1hcmtlci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxhQUFhLEVBQUUsR0FBRyxFQUFjLE1BQU0sTUFBTSxDQUFDO0FBQ3RELE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNyQyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDeEQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDMUUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBSW5FLE1BQU0sS0FBVyxtQkFBbUIsQ0FXbkM7QUFYRCxXQUFpQixtQkFBbUI7Ozs7O0lBQ2xDLHNCQVNDOzs7Ozs7O1FBTEMsOEJBQXFCOzs7OztRQUlyQiw2Q0FBNkQ7O0FBRWpFLENBQUMsRUFYZ0IsbUJBQW1CLEtBQW5CLG1CQUFtQixRQVduQzs7SUFFSyxHQUFHLEdBQUcsaUJBQWlCO0FBRTdCO0lBTUUsZ0NBQ1UsS0FBa0IsRUFDbEIsUUFBNkIsRUFDN0IsTUFBcUIsRUFDckIsTUFBYztRQUhkLFVBQUssR0FBTCxLQUFLLENBQWE7UUFDbEIsYUFBUSxHQUFSLFFBQVEsQ0FBcUI7UUFDN0IsV0FBTSxHQUFOLE1BQU0sQ0FBZTtRQUNyQixXQUFNLEdBQU4sTUFBTSxDQUFRO1FBUGhCLFlBQU8sR0FBRyxJQUFJLGFBQWEsQ0FBTSxDQUFDLENBQUMsQ0FBQztRQUNwQyxPQUFFLEdBQUcsbUJBQUEsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsdUJBQXVCLENBQUMsRUFBbUIsQ0FBQztJQU96RSxDQUFDO0lBRUo7O09BRUc7Ozs7O0lBQ0gsb0NBQUc7Ozs7SUFBSDtRQUNFLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUNyQyxDQUFDO0lBRUQ7Ozs7T0FJRzs7Ozs7OztJQUNILHVDQUFNOzs7Ozs7SUFBTixVQUFPLE9BQW9DLEVBQUUsUUFBZTtRQUE1RCxpQkFhQztRQWI0Qyx5QkFBQSxFQUFBLGVBQWU7UUFDMUQsT0FBTyxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUN4QyxHQUFHOzs7O1FBQUMsVUFBQyxFQUFrQjtnQkFBbEIsMEJBQWtCLEVBQWpCLHFCQUFhLEVBQUUsU0FBQztZQUNwQixJQUFJLFFBQVEsRUFBRTtnQkFDWixPQUFPLENBQUMsR0FBRyxHQUFHLENBQUMsQ0FBQzthQUNqQjtZQUNELEtBQUksQ0FBQyxNQUFNLEdBQUcsS0FBSSxDQUFDLE1BQU0sQ0FBQyxpQkFBaUI7OztZQUFDLGNBQU0sT0FBQSxJQUFJLGFBQWEsQ0FBQyxPQUFPLENBQUMsRUFBMUIsQ0FBMEIsRUFBQyxDQUFDO1lBQzlFLEtBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSw2QkFBNkIsQ0FBQyxDQUFDO1lBQ2xELEtBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUMvQixLQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ3hCLE9BQU8sS0FBSSxDQUFDLE1BQU0sQ0FBQztRQUNyQixDQUFDLEVBQUMsQ0FDSCxDQUFDO0lBQ0osQ0FBQztJQUVEOztPQUVHOzs7OztJQUNILHdDQUFPOzs7O0lBQVA7UUFBQSxpQkFNQztRQUxDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxTQUFTOzs7O1FBQUMsVUFBQSxDQUFDO1lBQ3BCLENBQUMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDZixLQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUUsMkJBQTJCLENBQUMsQ0FBQztZQUNoRCxLQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQztRQUNyQixDQUFDLEVBQUMsQ0FBQztJQUNMLENBQUM7O2dCQWpERixVQUFVOzs7O2dCQXJCRixXQUFXO2dCQUNYLG1CQUFtQjtnQkFDbkIsYUFBYTtnQkFMRCxNQUFNOztJQTBFM0IsNkJBQUM7Q0FBQSxBQWxERCxJQWtEQztTQWpEWSxzQkFBc0I7Ozs7OztJQUNqQyx3Q0FBb0I7Ozs7O0lBQ3BCLHlDQUE0Qzs7Ozs7SUFDNUMsb0NBQTRFOzs7OztJQUcxRSx1Q0FBMEI7Ozs7O0lBQzFCLDBDQUFxQzs7Ozs7SUFDckMsd0NBQTZCOzs7OztJQUM3Qix3Q0FBc0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlLCBOZ1pvbmUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFJlcGxheVN1YmplY3QsIHppcCwgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgQU1hcFNlcnZpY2UgfSBmcm9tICcuLi8uLi9zaGFyZWQvYW1hcC5zZXJ2aWNlJztcbmltcG9ydCB7IEFtYXBVSUxvYWRlclNlcnZpY2UgfSBmcm9tICcuLi8uLi9zaGFyZWQvYW1hcC11aS1sb2FkZXIuc2VydmljZSc7XG5pbXBvcnQgeyBMb2dnZXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2hhcmVkL2xvZ2dlci9sb2dnZXIuc2VydmljZSc7XG5pbXBvcnQgeyBHZXR0ZXIgfSBmcm9tICcuLi8uLi9iYXNlL2ludGVyZmFjZXMnO1xuaW1wb3J0IHsgQU1hcFVJU2ltcGxlTWFya2VyIH0gZnJvbSAnLi4vdWktc2ltcGxlLW1hcmtlci91aS1zaW1wbGUtbWFya2VyLnNlcnZpY2UnO1xuXG5leHBvcnQgbmFtZXNwYWNlIEFNYXBVSUF3ZXNvbWVNYXJrZXIge1xuICBleHBvcnQgaW50ZXJmYWNlIE9wdGlvbnM8RXh0cmFEYXRhID0gYW55PiBleHRlbmRzIEFNYXBVSVNpbXBsZU1hcmtlci5PcHRpb25zPEV4dHJhRGF0YT4ge1xuICAgIC8qKlxuICAgICAqIGljb24g55qE5ZCN56ew77yM5Y+v55So55qEIGljb25zIOWPguingSBGb250IEF3ZXNvbWUg5a6Y572RXG4gICAgICovXG4gICAgYXdlc29tZUljb24/OiBzdHJpbmc7XG4gICAgLyoqXG4gICAgICog6L+U5Zue5a2X5L2T6IqC54K55LiK55qEIGNsYXNzTmFtZXNcbiAgICAgKi9cbiAgICBnZXRDbGFzc25hbWVzT2ZBd2Vzb21lSWNvbj86IChhd2Vzb21lSWNvbjogc3RyaW5nKSA9PiBzdHJpbmc7XG4gIH1cbn1cblxuY29uc3QgVEFHID0gJ1VJQXdlc29tZU1hcmtlcic7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBVSUF3ZXNvbWVNYXJrZXJTZXJ2aWNlIGltcGxlbWVudHMgR2V0dGVyPGFueT4ge1xuICBwcml2YXRlIG1hcmtlcjogYW55O1xuICBwcml2YXRlIG1hcmtlciQgPSBuZXcgUmVwbGF5U3ViamVjdDxhbnk+KDEpO1xuICBwcml2YXRlIHVpID0gdGhpcy51aUxvYWRlci5sb2FkKCdvdmVybGF5L0F3ZXNvbWVNYXJrZXInKSBhcyBPYnNlcnZhYmxlPGFueT47XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBhbWFwczogQU1hcFNlcnZpY2UsXG4gICAgcHJpdmF0ZSB1aUxvYWRlcjogQW1hcFVJTG9hZGVyU2VydmljZSxcbiAgICBwcml2YXRlIGxvZ2dlcjogTG9nZ2VyU2VydmljZSxcbiAgICBwcml2YXRlIG5nWm9uZTogTmdab25lLFxuICApIHt9XG5cbiAgLyoqXG4gICAqIOiOt+WPlueCueagh+iusFxuICAgKi9cbiAgZ2V0KCkge1xuICAgIHJldHVybiB0aGlzLm1hcmtlciQuYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICAvKipcbiAgICog5Yib5bu654K55qCH6K6wIEFNYXAuQXdlc29tZU1hcmtlclxuICAgKiBAcGFyYW0gb3B0aW9ucyDpgInpoblcbiAgICogQHBhcmFtIGFkZFRvTWFwIOaYr+WQpuebtOaOpeWKoOi/m+WcsOWbvlxuICAgKi9cbiAgY3JlYXRlKG9wdGlvbnM6IEFNYXBVSUF3ZXNvbWVNYXJrZXIuT3B0aW9ucywgYWRkVG9NYXAgPSB0cnVlKSB7XG4gICAgcmV0dXJuIHppcCh0aGlzLnVpLCB0aGlzLmFtYXBzLmdldCgpKS5waXBlKFxuICAgICAgbWFwKChbQXdlc29tZU1hcmtlciwgbV0pID0+IHtcbiAgICAgICAgaWYgKGFkZFRvTWFwKSB7XG4gICAgICAgICAgb3B0aW9ucy5tYXAgPSBtO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMubWFya2VyID0gdGhpcy5uZ1pvbmUucnVuT3V0c2lkZUFuZ3VsYXIoKCkgPT4gbmV3IEF3ZXNvbWVNYXJrZXIob3B0aW9ucykpO1xuICAgICAgICB0aGlzLmxvZ2dlci5kKFRBRywgJ25ldyBhd2Vzb21lIG1hcmtlciBjcmVhdGVkLicpO1xuICAgICAgICB0aGlzLm1hcmtlciQubmV4dCh0aGlzLm1hcmtlcik7XG4gICAgICAgIHRoaXMubWFya2VyJC5jb21wbGV0ZSgpO1xuICAgICAgICByZXR1cm4gdGhpcy5tYXJrZXI7XG4gICAgICB9KSxcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIOmUgOavgeeCueagh+iusFxuICAgKi9cbiAgZGVzdHJveSgpIHtcbiAgICB0aGlzLmdldCgpLnN1YnNjcmliZShtID0+IHtcbiAgICAgIG0uc2V0TWFwKG51bGwpO1xuICAgICAgdGhpcy5sb2dnZXIuZChUQUcsICdhd2Vzb21lIG1hcmtlciBkZXN0cm95ZWQuJyk7XG4gICAgICB0aGlzLm1hcmtlciA9IG51bGw7XG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==