ngx-amap
Version:
[][npm-badge-url] [][npm-badge-url] [][ci-url]
128 lines • 7.6 kB
JavaScript
/**
* @fileoverview added by tsickle
* Generated from: directives/amap-circle-marker/amap-circle-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 = 'AmapCircleMarker';
var AmapCircleMarkerService = /** @class */ (function () {
function AmapCircleMarkerService(amaps, logger, ngZone) {
this.amaps = amaps;
this.logger = logger;
this.ngZone = ngZone;
this.circle$ = new ReplaySubject(1);
}
/**
* 获取圆点标记
*/
/**
* 获取圆点标记
* @return {?}
*/
AmapCircleMarkerService.prototype.get = /**
* 获取圆点标记
* @return {?}
*/
function () {
return this.circle$.asObservable();
};
/**
* 创建圆点标记 AMap.CircleMarker
* @param options 选项
*/
/**
* 创建圆点标记 AMap.CircleMarker
* @param {?} options 选项
* @return {?}
*/
AmapCircleMarkerService.prototype.create = /**
* 创建圆点标记 AMap.CircleMarker
* @param {?} options 选项
* @return {?}
*/
function (options) {
var _this = this;
return this.amaps.get().pipe(map((/**
* @param {?} m
* @return {?}
*/
function (m) {
options.map = m;
_this.circle = _this.ngZone.runOutsideAngular((/**
* @return {?}
*/
function () { return new AMap.CircleMarker(options); }));
_this.logger.d(TAG, 'new CircleMarker created.');
_this.circle$.next(_this.circle);
_this.circle$.complete();
return _this.circle;
})));
};
/**
* 销毁圆点标记
*/
/**
* 销毁圆点标记
* @return {?}
*/
AmapCircleMarkerService.prototype.destroy = /**
* 销毁圆点标记
* @return {?}
*/
function () {
var _this = this;
this.get().subscribe((/**
* @param {?} m
* @return {?}
*/
function (m) {
m.setMap(null);
_this.logger.d(TAG, 'CircleMarker destroyed.');
_this.circle = null;
}));
};
AmapCircleMarkerService.decorators = [
{ type: Injectable }
];
/** @nocollapse */
AmapCircleMarkerService.ctorParameters = function () { return [
{ type: AMapService },
{ type: LoggerService },
{ type: NgZone }
]; };
return AmapCircleMarkerService;
}());
export { AmapCircleMarkerService };
if (false) {
/**
* @type {?}
* @private
*/
AmapCircleMarkerService.prototype.circle;
/**
* @type {?}
* @private
*/
AmapCircleMarkerService.prototype.circle$;
/**
* @type {?}
* @private
*/
AmapCircleMarkerService.prototype.amaps;
/**
* @type {?}
* @private
*/
AmapCircleMarkerService.prototype.logger;
/**
* @type {?}
* @private
*/
AmapCircleMarkerService.prototype.ngZone;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW1hcC1jaXJjbGUtbWFya2VyLnNlcnZpY2UuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9uZ3gtYW1hcC8iLCJzb3VyY2VzIjpbImRpcmVjdGl2ZXMvYW1hcC1jaXJjbGUtbWFya2VyL2FtYXAtY2lyY2xlLW1hcmtlci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNyQyxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDckMsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQzs7SUFHN0QsR0FBRyxHQUFHLGtCQUFrQjtBQUU5QjtJQUtFLGlDQUFvQixLQUFrQixFQUFVLE1BQXFCLEVBQVUsTUFBYztRQUF6RSxVQUFLLEdBQUwsS0FBSyxDQUFhO1FBQVUsV0FBTSxHQUFOLE1BQU0sQ0FBZTtRQUFVLFdBQU0sR0FBTixNQUFNLENBQVE7UUFGckYsWUFBTyxHQUFHLElBQUksYUFBYSxDQUFvQixDQUFDLENBQUMsQ0FBQztJQUVzQyxDQUFDO0lBRWpHOztPQUVHOzs7OztJQUNILHFDQUFHOzs7O0lBQUg7UUFDRSxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDckMsQ0FBQztJQUVEOzs7T0FHRzs7Ozs7O0lBQ0gsd0NBQU07Ozs7O0lBQU4sVUFBTyxPQUE0QjtRQUFuQyxpQkFXQztRQVZDLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQzFCLEdBQUc7Ozs7UUFBQyxVQUFBLENBQUM7WUFDSCxPQUFPLENBQUMsR0FBRyxHQUFHLENBQUMsQ0FBQztZQUNoQixLQUFJLENBQUMsTUFBTSxHQUFHLEtBQUksQ0FBQyxNQUFNLENBQUMsaUJBQWlCOzs7WUFBQyxjQUFNLE9BQUEsSUFBSSxJQUFJLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxFQUE5QixDQUE4QixFQUFDLENBQUM7WUFDbEYsS0FBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFLDJCQUEyQixDQUFDLENBQUM7WUFDaEQsS0FBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQy9CLEtBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDeEIsT0FBTyxLQUFJLENBQUMsTUFBTSxDQUFDO1FBQ3JCLENBQUMsRUFBQyxDQUNILENBQUM7SUFDSixDQUFDO0lBRUQ7O09BRUc7Ozs7O0lBQ0gseUNBQU87Ozs7SUFBUDtRQUFBLGlCQU1DO1FBTEMsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLFNBQVM7Ozs7UUFBQyxVQUFBLENBQUM7WUFDcEIsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUNmLEtBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSx5QkFBeUIsQ0FBQyxDQUFDO1lBQzlDLEtBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDO1FBQ3JCLENBQUMsRUFBQyxDQUFDO0lBQ0wsQ0FBQzs7Z0JBeENGLFVBQVU7Ozs7Z0JBTkYsV0FBVztnQkFDWCxhQUFhO2dCQUpELE1BQU07O0lBa0QzQiw4QkFBQztDQUFBLEFBekNELElBeUNDO1NBeENZLHVCQUF1Qjs7Ozs7O0lBQ2xDLHlDQUFrQzs7Ozs7SUFDbEMsMENBQTBEOzs7OztJQUU5Qyx3Q0FBMEI7Ozs7O0lBQUUseUNBQTZCOzs7OztJQUFFLHlDQUFzQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIE5nWm9uZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUmVwbGF5U3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgQU1hcFNlcnZpY2UgfSBmcm9tICcuLi8uLi9zaGFyZWQvYW1hcC5zZXJ2aWNlJztcbmltcG9ydCB7IExvZ2dlclNlcnZpY2UgfSBmcm9tICcuLi8uLi9zaGFyZWQvbG9nZ2VyL2xvZ2dlci5zZXJ2aWNlJztcbmltcG9ydCB7IEdldHRlciB9IGZyb20gJy4uLy4uL2Jhc2UvaW50ZXJmYWNlcyc7XG5cbmNvbnN0IFRBRyA9ICdBbWFwQ2lyY2xlTWFya2VyJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIEFtYXBDaXJjbGVNYXJrZXJTZXJ2aWNlIGltcGxlbWVudHMgR2V0dGVyPEFNYXAuQ2lyY2xlTWFya2VyPiB7XG4gIHByaXZhdGUgY2lyY2xlOiBBTWFwLkNpcmNsZU1hcmtlcjtcbiAgcHJpdmF0ZSBjaXJjbGUkID0gbmV3IFJlcGxheVN1YmplY3Q8QU1hcC5DaXJjbGVNYXJrZXI+KDEpO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgYW1hcHM6IEFNYXBTZXJ2aWNlLCBwcml2YXRlIGxvZ2dlcjogTG9nZ2VyU2VydmljZSwgcHJpdmF0ZSBuZ1pvbmU6IE5nWm9uZSkge31cblxuICAvKipcbiAgICog6I635Y+W5ZyG54K55qCH6K6wXG4gICAqL1xuICBnZXQoKSB7XG4gICAgcmV0dXJuIHRoaXMuY2lyY2xlJC5hc09ic2VydmFibGUoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiDliJvlu7rlnIbngrnmoIforrAgQU1hcC5DaXJjbGVNYXJrZXJcbiAgICogQHBhcmFtIG9wdGlvbnMg6YCJ6aG5XG4gICAqL1xuICBjcmVhdGUob3B0aW9uczogQU1hcC5DaXJjbGUuT3B0aW9ucykge1xuICAgIHJldHVybiB0aGlzLmFtYXBzLmdldCgpLnBpcGUoXG4gICAgICBtYXAobSA9PiB7XG4gICAgICAgIG9wdGlvbnMubWFwID0gbTtcbiAgICAgICAgdGhpcy5jaXJjbGUgPSB0aGlzLm5nWm9uZS5ydW5PdXRzaWRlQW5ndWxhcigoKSA9PiBuZXcgQU1hcC5DaXJjbGVNYXJrZXIob3B0aW9ucykpO1xuICAgICAgICB0aGlzLmxvZ2dlci5kKFRBRywgJ25ldyBDaXJjbGVNYXJrZXIgY3JlYXRlZC4nKTtcbiAgICAgICAgdGhpcy5jaXJjbGUkLm5leHQodGhpcy5jaXJjbGUpO1xuICAgICAgICB0aGlzLmNpcmNsZSQuY29tcGxldGUoKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuY2lyY2xlO1xuICAgICAgfSksXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiDplIDmr4HlnIbngrnmoIforrBcbiAgICovXG4gIGRlc3Ryb3koKSB7XG4gICAgdGhpcy5nZXQoKS5zdWJzY3JpYmUobSA9PiB7XG4gICAgICBtLnNldE1hcChudWxsKTtcbiAgICAgIHRoaXMubG9nZ2VyLmQoVEFHLCAnQ2lyY2xlTWFya2VyIGRlc3Ryb3llZC4nKTtcbiAgICAgIHRoaXMuY2lyY2xlID0gbnVsbDtcbiAgICB9KTtcbiAgfVxufVxuIl19