ngx-amap
Version:
[][npm-badge-url] [][npm-badge-url] [][ci-url]
198 lines • 10.6 kB
JavaScript
/**
* @fileoverview added by tsickle
* Generated from: components/amap-info-window/amap-info-window.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 { LoggerService } from '../../shared/logger/logger.service';
/** @type {?} */
var TAG = 'AmapInfoWindow';
var AmapInfoWindowService = /** @class */ (function () {
function AmapInfoWindowService(amaps, logger, ngZone) {
this.amaps = amaps;
this.logger = logger;
this.ngZone = ngZone;
this.infoWindow$ = new ReplaySubject(1);
}
/**
* 获取信息窗体
*/
/**
* 获取信息窗体
* @return {?}
*/
AmapInfoWindowService.prototype.get = /**
* 获取信息窗体
* @return {?}
*/
function () {
return this.infoWindow$.asObservable();
};
/**
* 创建 AMap.InfoWindow
* @param options 选项
*/
/**
* 创建 AMap.InfoWindow
* @param {?} options 选项
* @return {?}
*/
AmapInfoWindowService.prototype.create = /**
* 创建 AMap.InfoWindow
* @param {?} options 选项
* @return {?}
*/
function (options) {
var _this = this;
return this.amaps.get().pipe(map((/**
* @param {?} m
* @return {?}
*/
function (m) {
_this.map = m;
_this.infoWindow = _this.ngZone.runOutsideAngular((/**
* @return {?}
*/
function () { return new AMap.InfoWindow(options); }));
_this.logger.d(TAG, 'new InfoWindow created.');
_this.infoWindow$.next(_this.infoWindow);
_this.infoWindow$.complete();
return _this.infoWindow;
})));
};
/**
* 销毁
*/
/**
* 销毁
* @return {?}
*/
AmapInfoWindowService.prototype.destroy = /**
* 销毁
* @return {?}
*/
function () {
var _this = this;
this.get().subscribe((/**
* @param {?} w
* @return {?}
*/
function (w) {
w.close();
_this.logger.d(TAG, 'InfoWindow destroyed.');
_this.infoWindow = null;
_this.map = null;
}));
};
/**
* 打开
*/
/**
* 打开
* @param {?=} position
* @return {?}
*/
AmapInfoWindowService.prototype.open = /**
* 打开
* @param {?=} position
* @return {?}
*/
function (position) {
var _this = this;
this.get().subscribe((/**
* @param {?} w
* @return {?}
*/
function (w) { return w.open(_this.map, position); }));
};
/**
* 在覆盖物上打开窗体
*/
/**
* 在覆盖物上打开窗体
* @param {?} marker
* @return {?}
*/
AmapInfoWindowService.prototype.openOnMark = /**
* 在覆盖物上打开窗体
* @param {?} marker
* @return {?}
*/
function (marker) {
var _this = this;
zip(marker, this.get()).subscribe((/**
* @param {?} __0
* @return {?}
*/
function (_a) {
var _b = tslib_1.__read(_a, 2), m = _b[0], w = _b[1];
w.open(_this.map, m.getPosition());
}));
};
/**
* 关闭
*/
/**
* 关闭
* @return {?}
*/
AmapInfoWindowService.prototype.close = /**
* 关闭
* @return {?}
*/
function () {
this.get().subscribe((/**
* @param {?} w
* @return {?}
*/
function (w) { return w.close(); }));
};
AmapInfoWindowService.decorators = [
{ type: Injectable }
];
/** @nocollapse */
AmapInfoWindowService.ctorParameters = function () { return [
{ type: AMapService },
{ type: LoggerService },
{ type: NgZone }
]; };
return AmapInfoWindowService;
}());
export { AmapInfoWindowService };
if (false) {
/**
* @type {?}
* @private
*/
AmapInfoWindowService.prototype.map;
/**
* @type {?}
* @private
*/
AmapInfoWindowService.prototype.infoWindow;
/**
* @type {?}
* @private
*/
AmapInfoWindowService.prototype.infoWindow$;
/**
* @type {?}
* @private
*/
AmapInfoWindowService.prototype.amaps;
/**
* @type {?}
* @private
*/
AmapInfoWindowService.prototype.logger;
/**
* @type {?}
* @private
*/
AmapInfoWindowService.prototype.ngZone;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW1hcC1pbmZvLXdpbmRvdy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vbmd4LWFtYXAvIiwic291cmNlcyI6WyJjb21wb25lbnRzL2FtYXAtaW5mby13aW5kb3cvYW1hcC1pbmZvLXdpbmRvdy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxhQUFhLEVBQUUsR0FBRyxFQUFjLE1BQU0sTUFBTSxDQUFDO0FBQ3RELE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNyQyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDeEQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLG9DQUFvQyxDQUFDOztJQUc3RCxHQUFHLEdBQUcsZ0JBQWdCO0FBRTVCO0lBTUUsK0JBQW9CLEtBQWtCLEVBQVUsTUFBcUIsRUFBVSxNQUFjO1FBQXpFLFVBQUssR0FBTCxLQUFLLENBQWE7UUFBVSxXQUFNLEdBQU4sTUFBTSxDQUFlO1FBQVUsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUZyRixnQkFBVyxHQUFHLElBQUksYUFBYSxDQUFrQixDQUFDLENBQUMsQ0FBQztJQUVvQyxDQUFDO0lBRWpHOztPQUVHOzs7OztJQUNILG1DQUFHOzs7O0lBQUg7UUFDRSxPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDekMsQ0FBQztJQUVEOzs7T0FHRzs7Ozs7O0lBQ0gsc0NBQU07Ozs7O0lBQU4sVUFBTyxPQUFnQztRQUF2QyxpQkFXQztRQVZDLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQzFCLEdBQUc7Ozs7UUFBQyxVQUFBLENBQUM7WUFDSCxLQUFJLENBQUMsR0FBRyxHQUFHLENBQUMsQ0FBQztZQUNiLEtBQUksQ0FBQyxVQUFVLEdBQUcsS0FBSSxDQUFDLE1BQU0sQ0FBQyxpQkFBaUI7OztZQUFDLGNBQU0sT0FBQSxJQUFJLElBQUksQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLEVBQTVCLENBQTRCLEVBQUMsQ0FBQztZQUNwRixLQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUUseUJBQXlCLENBQUMsQ0FBQztZQUM5QyxLQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxLQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7WUFDdkMsS0FBSSxDQUFDLFdBQVcsQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUM1QixPQUFPLEtBQUksQ0FBQyxVQUFVLENBQUM7UUFDekIsQ0FBQyxFQUFDLENBQ0gsQ0FBQztJQUNKLENBQUM7SUFFRDs7T0FFRzs7Ozs7SUFDSCx1Q0FBTzs7OztJQUFQO1FBQUEsaUJBT0M7UUFOQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsU0FBUzs7OztRQUFDLFVBQUEsQ0FBQztZQUNwQixDQUFDLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDVixLQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUUsdUJBQXVCLENBQUMsQ0FBQztZQUM1QyxLQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQztZQUN2QixLQUFJLENBQUMsR0FBRyxHQUFHLElBQUksQ0FBQztRQUNsQixDQUFDLEVBQUMsQ0FBQztJQUNMLENBQUM7SUFFRDs7T0FFRzs7Ozs7O0lBQ0gsb0NBQUk7Ozs7O0lBQUosVUFBSyxRQUE2QjtRQUFsQyxpQkFFQztRQURDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxTQUFTOzs7O1FBQUMsVUFBQSxDQUFDLElBQUksT0FBQSxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUksQ0FBQyxHQUFHLEVBQUUsUUFBUSxDQUFDLEVBQTFCLENBQTBCLEVBQUMsQ0FBQztJQUN4RCxDQUFDO0lBRUQ7O09BRUc7Ozs7OztJQUNILDBDQUFVOzs7OztJQUFWLFVBQVcsTUFBMkM7UUFBdEQsaUJBSUM7UUFIQyxHQUFHLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLFNBQVM7Ozs7UUFBQyxVQUFDLEVBQU07Z0JBQU4sMEJBQU0sRUFBTCxTQUFDLEVBQUUsU0FBQztZQUN0QyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUM7UUFDcEMsQ0FBQyxFQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQ7O09BRUc7Ozs7O0lBQ0gscUNBQUs7Ozs7SUFBTDtRQUNFLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxTQUFTOzs7O1FBQUMsVUFBQSxDQUFDLElBQUksT0FBQSxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQVQsQ0FBUyxFQUFDLENBQUM7SUFDdkMsQ0FBQzs7Z0JBakVGLFVBQVU7Ozs7Z0JBTkYsV0FBVztnQkFDWCxhQUFhO2dCQUpELE1BQU07O0lBMkUzQiw0QkFBQztDQUFBLEFBbEVELElBa0VDO1NBakVZLHFCQUFxQjs7Ozs7O0lBQ2hDLG9DQUFzQjs7Ozs7SUFDdEIsMkNBQW9DOzs7OztJQUNwQyw0Q0FBNEQ7Ozs7O0lBRWhELHNDQUEwQjs7Ozs7SUFBRSx1Q0FBNkI7Ozs7O0lBQUUsdUNBQXNCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgTmdab25lIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBSZXBsYXlTdWJqZWN0LCB6aXAsIE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IEFNYXBTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2hhcmVkL2FtYXAuc2VydmljZSc7XG5pbXBvcnQgeyBMb2dnZXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2hhcmVkL2xvZ2dlci9sb2dnZXIuc2VydmljZSc7XG5pbXBvcnQgeyBHZXR0ZXIgfSBmcm9tICcuLi8uLi9iYXNlL2ludGVyZmFjZXMnO1xuXG5jb25zdCBUQUcgPSAnQW1hcEluZm9XaW5kb3cnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgQW1hcEluZm9XaW5kb3dTZXJ2aWNlIGltcGxlbWVudHMgR2V0dGVyPEFNYXAuSW5mb1dpbmRvdz4ge1xuICBwcml2YXRlIG1hcDogQU1hcC5NYXA7XG4gIHByaXZhdGUgaW5mb1dpbmRvdzogQU1hcC5JbmZvV2luZG93O1xuICBwcml2YXRlIGluZm9XaW5kb3ckID0gbmV3IFJlcGxheVN1YmplY3Q8QU1hcC5JbmZvV2luZG93PigxKTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGFtYXBzOiBBTWFwU2VydmljZSwgcHJpdmF0ZSBsb2dnZXI6IExvZ2dlclNlcnZpY2UsIHByaXZhdGUgbmdab25lOiBOZ1pvbmUpIHt9XG5cbiAgLyoqXG4gICAqIOiOt+WPluS/oeaBr+eql+S9k1xuICAgKi9cbiAgZ2V0KCkge1xuICAgIHJldHVybiB0aGlzLmluZm9XaW5kb3ckLmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgLyoqXG4gICAqIOWIm+W7uiBBTWFwLkluZm9XaW5kb3dcbiAgICogQHBhcmFtIG9wdGlvbnMg6YCJ6aG5XG4gICAqL1xuICBjcmVhdGUob3B0aW9uczogQU1hcC5JbmZvV2luZG93Lk9wdGlvbnMpIHtcbiAgICByZXR1cm4gdGhpcy5hbWFwcy5nZXQoKS5waXBlKFxuICAgICAgbWFwKG0gPT4ge1xuICAgICAgICB0aGlzLm1hcCA9IG07XG4gICAgICAgIHRoaXMuaW5mb1dpbmRvdyA9IHRoaXMubmdab25lLnJ1bk91dHNpZGVBbmd1bGFyKCgpID0+IG5ldyBBTWFwLkluZm9XaW5kb3cob3B0aW9ucykpO1xuICAgICAgICB0aGlzLmxvZ2dlci5kKFRBRywgJ25ldyBJbmZvV2luZG93IGNyZWF0ZWQuJyk7XG4gICAgICAgIHRoaXMuaW5mb1dpbmRvdyQubmV4dCh0aGlzLmluZm9XaW5kb3cpO1xuICAgICAgICB0aGlzLmluZm9XaW5kb3ckLmNvbXBsZXRlKCk7XG4gICAgICAgIHJldHVybiB0aGlzLmluZm9XaW5kb3c7XG4gICAgICB9KSxcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIOmUgOavgVxuICAgKi9cbiAgZGVzdHJveSgpIHtcbiAgICB0aGlzLmdldCgpLnN1YnNjcmliZSh3ID0+IHtcbiAgICAgIHcuY2xvc2UoKTtcbiAgICAgIHRoaXMubG9nZ2VyLmQoVEFHLCAnSW5mb1dpbmRvdyBkZXN0cm95ZWQuJyk7XG4gICAgICB0aGlzLmluZm9XaW5kb3cgPSBudWxsO1xuICAgICAgdGhpcy5tYXAgPSBudWxsO1xuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIOaJk+W8gFxuICAgKi9cbiAgb3Blbihwb3NpdGlvbj86IEFNYXAuTG9jYXRpb25WYWx1ZSkge1xuICAgIHRoaXMuZ2V0KCkuc3Vic2NyaWJlKHcgPT4gdy5vcGVuKHRoaXMubWFwLCBwb3NpdGlvbikpO1xuICB9XG5cbiAgLyoqXG4gICAqIOWcqOimhueblueJqeS4iuaJk+W8gOeql+S9k1xuICAgKi9cbiAgb3Blbk9uTWFyayhtYXJrZXI6IE9ic2VydmFibGU8QU1hcC5NYXJrZXIgfCBBTWFwLlRleHQ+KSB7XG4gICAgemlwKG1hcmtlciwgdGhpcy5nZXQoKSkuc3Vic2NyaWJlKChbbSwgd10pID0+IHtcbiAgICAgIHcub3Blbih0aGlzLm1hcCwgbS5nZXRQb3NpdGlvbigpKTtcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiDlhbPpl61cbiAgICovXG4gIGNsb3NlKCkge1xuICAgIHRoaXMuZ2V0KCkuc3Vic2NyaWJlKHcgPT4gdy5jbG9zZSgpKTtcbiAgfVxufVxuIl19