ngx-amap
Version:
[][npm-badge-url] [][npm-badge-url] [][ci-url]
186 lines • 11.3 kB
JavaScript
/**
* @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 * 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 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 {?} */
var TAG = 'UISimpleMarker';
var UISimpleMarkerService = /** @class */ (function () {
function UISimpleMarkerService(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 {?}
*/
UISimpleMarkerService.prototype.get = /**
* 获取点标记
* @return {?}
*/
function () {
return this.marker$.asObservable();
};
/**
* 创建点标记 AMap.SimpleMarker
* @param options 选项
* @param addToMap 是否直接加进地图
*/
/**
* 创建点标记 AMap.SimpleMarker
* @param {?} options 选项
* @param {?=} addToMap 是否直接加进地图
* @return {?}
*/
UISimpleMarkerService.prototype.create = /**
* 创建点标记 AMap.SimpleMarker
* @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), SimpleMarker = _b[0], m = _b[1];
if (addToMap) {
options.map = m;
}
_this.marker = _this.ngZone.runOutsideAngular((/**
* @return {?}
*/
function () { return new SimpleMarker(options); }));
_this.logger.d(TAG, 'new simple marker created.');
_this.marker$.next(_this.marker);
_this.marker$.complete();
return _this.marker;
})));
};
/**
* 销毁点标记
*/
/**
* 销毁点标记
* @return {?}
*/
UISimpleMarkerService.prototype.destroy = /**
* 销毁点标记
* @return {?}
*/
function () {
var _this = this;
this.get().subscribe((/**
* @param {?} m
* @return {?}
*/
function (m) {
m.setMap(null);
_this.logger.d(TAG, 'simple marker destroyed.');
_this.marker = null;
}));
};
UISimpleMarkerService.decorators = [
{ type: Injectable }
];
/** @nocollapse */
UISimpleMarkerService.ctorParameters = function () { return [
{ type: AMapService },
{ type: AmapUILoaderService },
{ type: LoggerService },
{ type: NgZone }
]; };
return UISimpleMarkerService;
}());
export { UISimpleMarkerService };
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidWktc2ltcGxlLW1hcmtlci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vbmd4LWFtYXAvIiwic291cmNlcyI6WyJkaXJlY3RpdmVzL3VpLXNpbXBsZS1tYXJrZXIvdWktc2ltcGxlLW1hcmtlci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxhQUFhLEVBQUUsR0FBRyxFQUFjLE1BQU0sTUFBTSxDQUFDO0FBQ3RELE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNyQyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDeEQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDMUUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBR25FLE1BQU0sS0FBVyxrQkFBa0IsQ0F1QmxDO0FBdkJELFdBQWlCLGtCQUFrQjs7Ozs7SUFDakMsc0JBcUJDOzs7Ozs7O1FBakJDLDRCQUFvRDs7Ozs7UUFJcEQsNEJBQTRCOzs7OztRQUk1Qiw0QkFBNEI7Ozs7O1FBSTVCLG9DQUFxQzs7Ozs7UUFJckMsc0NBQTZCOztBQUVqQyxDQUFDLEVBdkJnQixrQkFBa0IsS0FBbEIsa0JBQWtCLFFBdUJsQzs7SUFFSyxHQUFHLEdBQUcsZ0JBQWdCO0FBRTVCO0lBTUUsK0JBQ1UsS0FBa0IsRUFDbEIsUUFBNkIsRUFDN0IsTUFBcUIsRUFDckIsTUFBYztRQUhkLFVBQUssR0FBTCxLQUFLLENBQWE7UUFDbEIsYUFBUSxHQUFSLFFBQVEsQ0FBcUI7UUFDN0IsV0FBTSxHQUFOLE1BQU0sQ0FBZTtRQUNyQixXQUFNLEdBQU4sTUFBTSxDQUFRO1FBUGhCLFlBQU8sR0FBRyxJQUFJLGFBQWEsQ0FBTSxDQUFDLENBQUMsQ0FBQztRQUNwQyxPQUFFLEdBQUcsbUJBQUEsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsc0JBQXNCLENBQUMsRUFBbUIsQ0FBQztJQU94RSxDQUFDO0lBRUo7O09BRUc7Ozs7O0lBQ0gsbUNBQUc7Ozs7SUFBSDtRQUNFLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUNyQyxDQUFDO0lBRUQ7Ozs7T0FJRzs7Ozs7OztJQUNILHNDQUFNOzs7Ozs7SUFBTixVQUFPLE9BQW1DLEVBQUUsUUFBZTtRQUEzRCxpQkFhQztRQWIyQyx5QkFBQSxFQUFBLGVBQWU7UUFDekQsT0FBTyxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUN4QyxHQUFHOzs7O1FBQUMsVUFBQyxFQUFpQjtnQkFBakIsMEJBQWlCLEVBQWhCLG9CQUFZLEVBQUUsU0FBQztZQUNuQixJQUFJLFFBQVEsRUFBRTtnQkFDWixPQUFPLENBQUMsR0FBRyxHQUFHLENBQUMsQ0FBQzthQUNqQjtZQUNELEtBQUksQ0FBQyxNQUFNLEdBQUcsS0FBSSxDQUFDLE1BQU0sQ0FBQyxpQkFBaUI7OztZQUFDLGNBQU0sT0FBQSxJQUFJLFlBQVksQ0FBQyxPQUFPLENBQUMsRUFBekIsQ0FBeUIsRUFBQyxDQUFDO1lBQzdFLEtBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSw0QkFBNEIsQ0FBQyxDQUFDO1lBQ2pELEtBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUMvQixLQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ3hCLE9BQU8sS0FBSSxDQUFDLE1BQU0sQ0FBQztRQUNyQixDQUFDLEVBQUMsQ0FDSCxDQUFDO0lBQ0osQ0FBQztJQUVEOztPQUVHOzs7OztJQUNILHVDQUFPOzs7O0lBQVA7UUFBQSxpQkFNQztRQUxDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxTQUFTOzs7O1FBQUMsVUFBQSxDQUFDO1lBQ3BCLENBQUMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDZixLQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUUsMEJBQTBCLENBQUMsQ0FBQztZQUMvQyxLQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQztRQUNyQixDQUFDLEVBQUMsQ0FBQztJQUNMLENBQUM7O2dCQWpERixVQUFVOzs7O2dCQWhDRixXQUFXO2dCQUNYLG1CQUFtQjtnQkFDbkIsYUFBYTtnQkFMRCxNQUFNOztJQXFGM0IsNEJBQUM7Q0FBQSxBQWxERCxJQWtEQztTQWpEWSxxQkFBcUI7Ozs7OztJQUNoQyx1Q0FBb0I7Ozs7O0lBQ3BCLHdDQUE0Qzs7Ozs7SUFDNUMsbUNBQTJFOzs7OztJQUd6RSxzQ0FBMEI7Ozs7O0lBQzFCLHlDQUFxQzs7Ozs7SUFDckMsdUNBQTZCOzs7OztJQUM3Qix1Q0FBc0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlLCBOZ1pvbmUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFJlcGxheVN1YmplY3QsIHppcCwgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgQU1hcFNlcnZpY2UgfSBmcm9tICcuLi8uLi9zaGFyZWQvYW1hcC5zZXJ2aWNlJztcbmltcG9ydCB7IEFtYXBVSUxvYWRlclNlcnZpY2UgfSBmcm9tICcuLi8uLi9zaGFyZWQvYW1hcC11aS1sb2FkZXIuc2VydmljZSc7XG5pbXBvcnQgeyBMb2dnZXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2hhcmVkL2xvZ2dlci9sb2dnZXIuc2VydmljZSc7XG5pbXBvcnQgeyBHZXR0ZXIgfSBmcm9tICcuLi8uLi9iYXNlL2ludGVyZmFjZXMnO1xuXG5leHBvcnQgbmFtZXNwYWNlIEFNYXBVSVNpbXBsZU1hcmtlciB7XG4gIGV4cG9ydCBpbnRlcmZhY2UgT3B0aW9uczxFeHRyYURhdGEgPSBhbnk+IGV4dGVuZHMgQU1hcC5NYXJrZXIuT3B0aW9uczxFeHRyYURhdGE+IHtcbiAgICAvKipcbiAgICAgKiDmoLflvI/kuLvpophcbiAgICAgKi9cbiAgICBpY29uVGhlbWU/OiAnZGVmYXVsdCcgfCAnZnJlc2gnIHwgJ251bXYxJyB8ICdudW12Mic7XG4gICAgLyoqXG4gICAgICog6IOM5pmv5Zu+5qCH5qC35byPXG4gICAgICovXG4gICAgaWNvblN0eWxlPzogc3RyaW5nIHwgb2JqZWN0O1xuICAgIC8qKlxuICAgICAqIOWbvuagh+WJjeaZr+aWh+Wtl1xuICAgICAqL1xuICAgIGljb25MYWJlbD86IHN0cmluZyB8IG9iamVjdDtcbiAgICAvKipcbiAgICAgKiDmmK/lkKbmmL7npLrlrprkvY3ngrlcbiAgICAgKi9cbiAgICBzaG93UG9zaXRpb25Qb2ludD86IGJvb2xlYW4gfCBvYmplY3Q7XG4gICAgLyoqXG4gICAgICog5YaF5bu655qERG9t5a655Zmo5LiK6ZmE5bim55qEY2xhc3PvvIzlpJrkuKpjbGFzcyBuYW1l55So56m65qC85YiG5byAXG4gICAgICovXG4gICAgY29udGFpbmVyQ2xhc3NOYW1lcz86IHN0cmluZztcbiAgfVxufVxuXG5jb25zdCBUQUcgPSAnVUlTaW1wbGVNYXJrZXInO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgVUlTaW1wbGVNYXJrZXJTZXJ2aWNlIGltcGxlbWVudHMgR2V0dGVyPGFueT4ge1xuICBwcml2YXRlIG1hcmtlcjogYW55O1xuICBwcml2YXRlIG1hcmtlciQgPSBuZXcgUmVwbGF5U3ViamVjdDxhbnk+KDEpO1xuICBwcml2YXRlIHVpID0gdGhpcy51aUxvYWRlci5sb2FkKCdvdmVybGF5L1NpbXBsZU1hcmtlcicpIGFzIE9ic2VydmFibGU8YW55PjtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGFtYXBzOiBBTWFwU2VydmljZSxcbiAgICBwcml2YXRlIHVpTG9hZGVyOiBBbWFwVUlMb2FkZXJTZXJ2aWNlLFxuICAgIHByaXZhdGUgbG9nZ2VyOiBMb2dnZXJTZXJ2aWNlLFxuICAgIHByaXZhdGUgbmdab25lOiBOZ1pvbmUsXG4gICkge31cblxuICAvKipcbiAgICog6I635Y+W54K55qCH6K6wXG4gICAqL1xuICBnZXQoKSB7XG4gICAgcmV0dXJuIHRoaXMubWFya2VyJC5hc09ic2VydmFibGUoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiDliJvlu7rngrnmoIforrAgQU1hcC5TaW1wbGVNYXJrZXJcbiAgICogQHBhcmFtIG9wdGlvbnMg6YCJ6aG5XG4gICAqIEBwYXJhbSBhZGRUb01hcCDmmK/lkKbnm7TmjqXliqDov5vlnLDlm75cbiAgICovXG4gIGNyZWF0ZShvcHRpb25zOiBBTWFwVUlTaW1wbGVNYXJrZXIuT3B0aW9ucywgYWRkVG9NYXAgPSB0cnVlKSB7XG4gICAgcmV0dXJuIHppcCh0aGlzLnVpLCB0aGlzLmFtYXBzLmdldCgpKS5waXBlKFxuICAgICAgbWFwKChbU2ltcGxlTWFya2VyLCBtXSkgPT4ge1xuICAgICAgICBpZiAoYWRkVG9NYXApIHtcbiAgICAgICAgICBvcHRpb25zLm1hcCA9IG07XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5tYXJrZXIgPSB0aGlzLm5nWm9uZS5ydW5PdXRzaWRlQW5ndWxhcigoKSA9PiBuZXcgU2ltcGxlTWFya2VyKG9wdGlvbnMpKTtcbiAgICAgICAgdGhpcy5sb2dnZXIuZChUQUcsICduZXcgc2ltcGxlIG1hcmtlciBjcmVhdGVkLicpO1xuICAgICAgICB0aGlzLm1hcmtlciQubmV4dCh0aGlzLm1hcmtlcik7XG4gICAgICAgIHRoaXMubWFya2VyJC5jb21wbGV0ZSgpO1xuICAgICAgICByZXR1cm4gdGhpcy5tYXJrZXI7XG4gICAgICB9KSxcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIOmUgOavgeeCueagh+iusFxuICAgKi9cbiAgZGVzdHJveSgpIHtcbiAgICB0aGlzLmdldCgpLnN1YnNjcmliZShtID0+IHtcbiAgICAgIG0uc2V0TWFwKG51bGwpO1xuICAgICAgdGhpcy5sb2dnZXIuZChUQUcsICdzaW1wbGUgbWFya2VyIGRlc3Ryb3llZC4nKTtcbiAgICAgIHRoaXMubWFya2VyID0gbnVsbDtcbiAgICB9KTtcbiAgfVxufVxuIl19