ngx-amap
Version:
[][npm-badge-url] [][npm-badge-url] [][ci-url]
134 lines • 7.67 kB
JavaScript
/**
* @fileoverview added by tsickle
* Generated from: components/amap-text/amap-text.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 = 'AmapText';
var AmapTextService = /** @class */ (function () {
function AmapTextService(amaps, logger, ngZone) {
this.amaps = amaps;
this.logger = logger;
this.ngZone = ngZone;
this.text$ = new ReplaySubject(1);
}
/**
* 获取点标记
*/
/**
* 获取点标记
* @return {?}
*/
AmapTextService.prototype.get = /**
* 获取点标记
* @return {?}
*/
function () {
return this.text$.asObservable();
};
/**
* 创建点标记 AMap.Text
* @param options 选项
* @param addToMap 是否直接加进地图
*/
/**
* 创建点标记 AMap.Text
* @param {?} options 选项
* @param {?=} addToMap 是否直接加进地图
* @return {?}
*/
AmapTextService.prototype.create = /**
* 创建点标记 AMap.Text
* @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.text = _this.ngZone.runOutsideAngular((/**
* @return {?}
*/
function () { return new AMap.Text(options); }));
_this.logger.d(TAG, 'new text created.');
_this.text$.next(_this.text);
_this.text$.complete();
return _this.text;
})));
};
/**
* 销毁点标记
*/
/**
* 销毁点标记
* @return {?}
*/
AmapTextService.prototype.destroy = /**
* 销毁点标记
* @return {?}
*/
function () {
var _this = this;
this.get().subscribe((/**
* @param {?} m
* @return {?}
*/
function (m) {
m.setMap(null);
_this.logger.d(TAG, 'text destroyed.');
_this.text = null;
}));
};
AmapTextService.decorators = [
{ type: Injectable }
];
/** @nocollapse */
AmapTextService.ctorParameters = function () { return [
{ type: AMapService },
{ type: LoggerService },
{ type: NgZone }
]; };
return AmapTextService;
}());
export { AmapTextService };
if (false) {
/**
* @type {?}
* @private
*/
AmapTextService.prototype.text;
/**
* @type {?}
* @private
*/
AmapTextService.prototype.text$;
/**
* @type {?}
* @private
*/
AmapTextService.prototype.amaps;
/**
* @type {?}
* @private
*/
AmapTextService.prototype.logger;
/**
* @type {?}
* @private
*/
AmapTextService.prototype.ngZone;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW1hcC10ZXh0LnNlcnZpY2UuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9uZ3gtYW1hcC8iLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvYW1hcC10ZXh0L2FtYXAtdGV4dC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNyQyxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDckMsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQzs7SUFHN0QsR0FBRyxHQUFHLFVBQVU7QUFFdEI7SUFLRSx5QkFBb0IsS0FBa0IsRUFBVSxNQUFxQixFQUFVLE1BQWM7UUFBekUsVUFBSyxHQUFMLEtBQUssQ0FBYTtRQUFVLFdBQU0sR0FBTixNQUFNLENBQWU7UUFBVSxXQUFNLEdBQU4sTUFBTSxDQUFRO1FBRnJGLFVBQUssR0FBRyxJQUFJLGFBQWEsQ0FBWSxDQUFDLENBQUMsQ0FBQztJQUVnRCxDQUFDO0lBRWpHOztPQUVHOzs7OztJQUNILDZCQUFHOzs7O0lBQUg7UUFDRSxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDbkMsQ0FBQztJQUVEOzs7O09BSUc7Ozs7Ozs7SUFDSCxnQ0FBTTs7Ozs7O0lBQU4sVUFBTyxPQUEwQixFQUFFLFFBQWU7UUFBbEQsaUJBYUM7UUFia0MseUJBQUEsRUFBQSxlQUFlO1FBQ2hELE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQzFCLEdBQUc7Ozs7UUFBQyxVQUFBLENBQUM7WUFDSCxJQUFJLFFBQVEsRUFBRTtnQkFDWixPQUFPLENBQUMsR0FBRyxHQUFHLENBQUMsQ0FBQzthQUNqQjtZQUNELEtBQUksQ0FBQyxJQUFJLEdBQUcsS0FBSSxDQUFDLE1BQU0sQ0FBQyxpQkFBaUI7OztZQUFDLGNBQU0sT0FBQSxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEVBQXRCLENBQXNCLEVBQUMsQ0FBQztZQUN4RSxLQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUUsbUJBQW1CLENBQUMsQ0FBQztZQUN4QyxLQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxLQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDM0IsS0FBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUN0QixPQUFPLEtBQUksQ0FBQyxJQUFJLENBQUM7UUFDbkIsQ0FBQyxFQUFDLENBQ0gsQ0FBQztJQUNKLENBQUM7SUFFRDs7T0FFRzs7Ozs7SUFDSCxpQ0FBTzs7OztJQUFQO1FBQUEsaUJBTUM7UUFMQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsU0FBUzs7OztRQUFDLFVBQUEsQ0FBQztZQUNwQixDQUFDLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ2YsS0FBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFLGlCQUFpQixDQUFDLENBQUM7WUFDdEMsS0FBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUM7UUFDbkIsQ0FBQyxFQUFDLENBQUM7SUFDTCxDQUFDOztnQkEzQ0YsVUFBVTs7OztnQkFORixXQUFXO2dCQUNYLGFBQWE7Z0JBSkQsTUFBTTs7SUFxRDNCLHNCQUFDO0NBQUEsQUE1Q0QsSUE0Q0M7U0EzQ1ksZUFBZTs7Ozs7O0lBQzFCLCtCQUF3Qjs7Ozs7SUFDeEIsZ0NBQWdEOzs7OztJQUVwQyxnQ0FBMEI7Ozs7O0lBQUUsaUNBQTZCOzs7OztJQUFFLGlDQUFzQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIE5nWm9uZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUmVwbGF5U3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgQU1hcFNlcnZpY2UgfSBmcm9tICcuLi8uLi9zaGFyZWQvYW1hcC5zZXJ2aWNlJztcbmltcG9ydCB7IExvZ2dlclNlcnZpY2UgfSBmcm9tICcuLi8uLi9zaGFyZWQvbG9nZ2VyL2xvZ2dlci5zZXJ2aWNlJztcbmltcG9ydCB7IEdldHRlciB9IGZyb20gJy4uLy4uL2Jhc2UvaW50ZXJmYWNlcyc7XG5cbmNvbnN0IFRBRyA9ICdBbWFwVGV4dCc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBBbWFwVGV4dFNlcnZpY2UgaW1wbGVtZW50cyBHZXR0ZXI8QU1hcC5UZXh0PiB7XG4gIHByaXZhdGUgdGV4dDogQU1hcC5UZXh0O1xuICBwcml2YXRlIHRleHQkID0gbmV3IFJlcGxheVN1YmplY3Q8QU1hcC5UZXh0PigxKTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGFtYXBzOiBBTWFwU2VydmljZSwgcHJpdmF0ZSBsb2dnZXI6IExvZ2dlclNlcnZpY2UsIHByaXZhdGUgbmdab25lOiBOZ1pvbmUpIHt9XG5cbiAgLyoqXG4gICAqIOiOt+WPlueCueagh+iusFxuICAgKi9cbiAgZ2V0KCkge1xuICAgIHJldHVybiB0aGlzLnRleHQkLmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgLyoqXG4gICAqIOWIm+W7uueCueagh+iusCBBTWFwLlRleHRcbiAgICogQHBhcmFtIG9wdGlvbnMg6YCJ6aG5XG4gICAqIEBwYXJhbSBhZGRUb01hcCDmmK/lkKbnm7TmjqXliqDov5vlnLDlm75cbiAgICovXG4gIGNyZWF0ZShvcHRpb25zOiBBTWFwLlRleHQuT3B0aW9ucywgYWRkVG9NYXAgPSB0cnVlKSB7XG4gICAgcmV0dXJuIHRoaXMuYW1hcHMuZ2V0KCkucGlwZShcbiAgICAgIG1hcChtID0+IHtcbiAgICAgICAgaWYgKGFkZFRvTWFwKSB7XG4gICAgICAgICAgb3B0aW9ucy5tYXAgPSBtO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMudGV4dCA9IHRoaXMubmdab25lLnJ1bk91dHNpZGVBbmd1bGFyKCgpID0+IG5ldyBBTWFwLlRleHQob3B0aW9ucykpO1xuICAgICAgICB0aGlzLmxvZ2dlci5kKFRBRywgJ25ldyB0ZXh0IGNyZWF0ZWQuJyk7XG4gICAgICAgIHRoaXMudGV4dCQubmV4dCh0aGlzLnRleHQpO1xuICAgICAgICB0aGlzLnRleHQkLmNvbXBsZXRlKCk7XG4gICAgICAgIHJldHVybiB0aGlzLnRleHQ7XG4gICAgICB9KSxcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIOmUgOavgeeCueagh+iusFxuICAgKi9cbiAgZGVzdHJveSgpIHtcbiAgICB0aGlzLmdldCgpLnN1YnNjcmliZShtID0+IHtcbiAgICAgIG0uc2V0TWFwKG51bGwpO1xuICAgICAgdGhpcy5sb2dnZXIuZChUQUcsICd0ZXh0IGRlc3Ryb3llZC4nKTtcbiAgICAgIHRoaXMudGV4dCA9IG51bGw7XG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==