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]

134 lines 7.8 kB
/** * @fileoverview added by tsickle * Generated from: directives/amap-marker/amap-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 {?} */ var TAG = 'AmapMarker'; var AmapMarkerService = /** @class */ (function () { function AmapMarkerService(amaps, logger, ngZone) { this.amaps = amaps; this.logger = logger; this.ngZone = ngZone; this.marker$ = new ReplaySubject(1); } /** * 获取点标记 */ /** * 获取点标记 * @return {?} */ AmapMarkerService.prototype.get = /** * 获取点标记 * @return {?} */ function () { return this.marker$.asObservable(); }; /** * 创建点标记 AMap.Marker * @param options 选项 * @param addToMap 是否直接加进地图 */ /** * 创建点标记 AMap.Marker * @param {?} options 选项 * @param {?=} addToMap 是否直接加进地图 * @return {?} */ AmapMarkerService.prototype.create = /** * 创建点标记 AMap.Marker * @param {?} options 选项 * @param {?=} addToMap 是否直接加进地图 * @return {?} */ function (options, addToMap) { var _this = this; if (addToMap === void 0) { addToMap = true; } return this.amaps.get().pipe(map((/** * @param {?} m * @return {?} */ function (m) { if (addToMap) { options.map = m; } _this.marker = _this.ngZone.runOutsideAngular((/** * @return {?} */ function () { return new AMap.Marker(options); })); _this.logger.d(TAG, 'new marker created.'); _this.marker$.next(_this.marker); _this.marker$.complete(); return _this.marker; }))); }; /** * 销毁点标记 */ /** * 销毁点标记 * @return {?} */ AmapMarkerService.prototype.destroy = /** * 销毁点标记 * @return {?} */ function () { var _this = this; this.get().subscribe((/** * @param {?} m * @return {?} */ function (m) { m.setMap(null); _this.logger.d(TAG, 'marker destroyed.'); _this.marker = null; })); }; AmapMarkerService.decorators = [ { type: Injectable } ]; /** @nocollapse */ AmapMarkerService.ctorParameters = function () { return [ { type: AMapService }, { type: LoggerService }, { type: NgZone } ]; }; return AmapMarkerService; }()); export { AmapMarkerService }; if (false) { /** * @type {?} * @private */ AmapMarkerService.prototype.marker; /** * @type {?} * @private */ AmapMarkerService.prototype.marker$; /** * @type {?} * @private */ AmapMarkerService.prototype.amaps; /** * @type {?} * @private */ AmapMarkerService.prototype.logger; /** * @type {?} * @private */ AmapMarkerService.prototype.ngZone; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW1hcC1tYXJrZXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL25neC1hbWFwLyIsInNvdXJjZXMiOlsiZGlyZWN0aXZlcy9hbWFwLW1hcmtlci9hbWFwLW1hcmtlci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNyQyxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDckMsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQzs7SUFHN0QsR0FBRyxHQUFHLFlBQVk7QUFFeEI7SUFLRSwyQkFBb0IsS0FBa0IsRUFBVSxNQUFxQixFQUFVLE1BQWM7UUFBekUsVUFBSyxHQUFMLEtBQUssQ0FBYTtRQUFVLFdBQU0sR0FBTixNQUFNLENBQWU7UUFBVSxXQUFNLEdBQU4sTUFBTSxDQUFRO1FBRnJGLFlBQU8sR0FBRyxJQUFJLGFBQWEsQ0FBYyxDQUFDLENBQUMsQ0FBQztJQUU0QyxDQUFDO0lBRWpHOztPQUVHOzs7OztJQUNILCtCQUFHOzs7O0lBQUg7UUFDRSxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDckMsQ0FBQztJQUVEOzs7O09BSUc7Ozs7Ozs7SUFDSCxrQ0FBTTs7Ozs7O0lBQU4sVUFBTyxPQUE0QixFQUFFLFFBQWU7UUFBcEQsaUJBYUM7UUFib0MseUJBQUEsRUFBQSxlQUFlO1FBQ2xELE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQzFCLEdBQUc7Ozs7UUFBQyxVQUFBLENBQUM7WUFDSCxJQUFJLFFBQVEsRUFBRTtnQkFDWixPQUFPLENBQUMsR0FBRyxHQUFHLENBQUMsQ0FBQzthQUNqQjtZQUNELEtBQUksQ0FBQyxNQUFNLEdBQUcsS0FBSSxDQUFDLE1BQU0sQ0FBQyxpQkFBaUI7OztZQUFDLGNBQU0sT0FBQSxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLEVBQXhCLENBQXdCLEVBQUMsQ0FBQztZQUM1RSxLQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUUscUJBQXFCLENBQUMsQ0FBQztZQUMxQyxLQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDL0IsS0FBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUN4QixPQUFPLEtBQUksQ0FBQyxNQUFNLENBQUM7UUFDckIsQ0FBQyxFQUFDLENBQ0gsQ0FBQztJQUNKLENBQUM7SUFFRDs7T0FFRzs7Ozs7SUFDSCxtQ0FBTzs7OztJQUFQO1FBQUEsaUJBTUM7UUFMQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsU0FBUzs7OztRQUFDLFVBQUEsQ0FBQztZQUNwQixDQUFDLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ2YsS0FBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFLG1CQUFtQixDQUFDLENBQUM7WUFDeEMsS0FBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUM7UUFDckIsQ0FBQyxFQUFDLENBQUM7SUFDTCxDQUFDOztnQkEzQ0YsVUFBVTs7OztnQkFORixXQUFXO2dCQUNYLGFBQWE7Z0JBSkQsTUFBTTs7SUFxRDNCLHdCQUFDO0NBQUEsQUE1Q0QsSUE0Q0M7U0EzQ1ksaUJBQWlCOzs7Ozs7SUFDNUIsbUNBQTRCOzs7OztJQUM1QixvQ0FBb0Q7Ozs7O0lBRXhDLGtDQUEwQjs7Ozs7SUFBRSxtQ0FBNkI7Ozs7O0lBQUUsbUNBQXNCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgTmdab25lIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBSZXBsYXlTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBBTWFwU2VydmljZSB9IGZyb20gJy4uLy4uL3NoYXJlZC9hbWFwLnNlcnZpY2UnO1xuaW1wb3J0IHsgTG9nZ2VyU2VydmljZSB9IGZyb20gJy4uLy4uL3NoYXJlZC9sb2dnZXIvbG9nZ2VyLnNlcnZpY2UnO1xuaW1wb3J0IHsgR2V0dGVyIH0gZnJvbSAnLi4vLi4vYmFzZS9pbnRlcmZhY2VzJztcblxuY29uc3QgVEFHID0gJ0FtYXBNYXJrZXInO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgQW1hcE1hcmtlclNlcnZpY2UgaW1wbGVtZW50cyBHZXR0ZXI8QU1hcC5NYXJrZXI+IHtcbiAgcHJpdmF0ZSBtYXJrZXI6IEFNYXAuTWFya2VyO1xuICBwcml2YXRlIG1hcmtlciQgPSBuZXcgUmVwbGF5U3ViamVjdDxBTWFwLk1hcmtlcj4oMSk7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBhbWFwczogQU1hcFNlcnZpY2UsIHByaXZhdGUgbG9nZ2VyOiBMb2dnZXJTZXJ2aWNlLCBwcml2YXRlIG5nWm9uZTogTmdab25lKSB7fVxuXG4gIC8qKlxuICAgKiDojrflj5bngrnmoIforrBcbiAgICovXG4gIGdldCgpIHtcbiAgICByZXR1cm4gdGhpcy5tYXJrZXIkLmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgLyoqXG4gICAqIOWIm+W7uueCueagh+iusCBBTWFwLk1hcmtlclxuICAgKiBAcGFyYW0gb3B0aW9ucyDpgInpoblcbiAgICogQHBhcmFtIGFkZFRvTWFwIOaYr+WQpuebtOaOpeWKoOi/m+WcsOWbvlxuICAgKi9cbiAgY3JlYXRlKG9wdGlvbnM6IEFNYXAuTWFya2VyLk9wdGlvbnMsIGFkZFRvTWFwID0gdHJ1ZSkge1xuICAgIHJldHVybiB0aGlzLmFtYXBzLmdldCgpLnBpcGUoXG4gICAgICBtYXAobSA9PiB7XG4gICAgICAgIGlmIChhZGRUb01hcCkge1xuICAgICAgICAgIG9wdGlvbnMubWFwID0gbTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLm1hcmtlciA9IHRoaXMubmdab25lLnJ1bk91dHNpZGVBbmd1bGFyKCgpID0+IG5ldyBBTWFwLk1hcmtlcihvcHRpb25zKSk7XG4gICAgICAgIHRoaXMubG9nZ2VyLmQoVEFHLCAnbmV3IG1hcmtlciBjcmVhdGVkLicpO1xuICAgICAgICB0aGlzLm1hcmtlciQubmV4dCh0aGlzLm1hcmtlcik7XG4gICAgICAgIHRoaXMubWFya2VyJC5jb21wbGV0ZSgpO1xuICAgICAgICByZXR1cm4gdGhpcy5tYXJrZXI7XG4gICAgICB9KSxcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIOmUgOavgeeCueagh+iusFxuICAgKi9cbiAgZGVzdHJveSgpIHtcbiAgICB0aGlzLmdldCgpLnN1YnNjcmliZShtID0+IHtcbiAgICAgIG0uc2V0TWFwKG51bGwpO1xuICAgICAgdGhpcy5sb2dnZXIuZChUQUcsICdtYXJrZXIgZGVzdHJveWVkLicpO1xuICAgICAgdGhpcy5tYXJrZXIgPSBudWxsO1xuICAgIH0pO1xuICB9XG59XG4iXX0=