ngx-amap
Version:
[][npm-badge-url] [][npm-badge-url] [][ci-url]
129 lines • 7.28 kB
JavaScript
/**
* @fileoverview added by tsickle
* Generated from: shared/amap.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 { AMapLoaderService } from './amap-loader.service';
import { LoggerService } from './logger/logger.service';
/** @type {?} */
var TAG = 'AMap';
var AMapService = /** @class */ (function () {
function AMapService(loader, logger, ngZone) {
this.loader = loader;
this.logger = logger;
this.ngZone = ngZone;
this.map$ = new ReplaySubject();
}
/**
* 获取地图对象 AMap.Map
*/
/**
* 获取地图对象 AMap.Map
* @return {?}
*/
AMapService.prototype.get = /**
* 获取地图对象 AMap.Map
* @return {?}
*/
function () {
return this.map$.asObservable();
};
/**
* 创建地图对象 AMap.Map
* @param container 地图容器的DOM元素
* @param options 选项
*/
/**
* 创建地图对象 AMap.Map
* @param {?} container 地图容器的DOM元素
* @param {?} options 选项
* @return {?}
*/
AMapService.prototype.create = /**
* 创建地图对象 AMap.Map
* @param {?} container 地图容器的DOM元素
* @param {?} options 选项
* @return {?}
*/
function (container, options) {
var _this = this;
return this.loader.load().pipe(map((/**
* @return {?}
*/
function () {
_this.map = _this.ngZone.runOutsideAngular((/**
* @return {?}
*/
function () { return new AMap.Map(container, options); }));
_this.logger.d(TAG, 'new map created.');
_this.map$.next(_this.map);
_this.map$.complete();
return _this.map;
})));
};
/**
* 销毁地图对象
*/
/**
* 销毁地图对象
* @return {?}
*/
AMapService.prototype.destroy = /**
* 销毁地图对象
* @return {?}
*/
function () {
var _this = this;
this.get().subscribe((/**
* @param {?} m
* @return {?}
*/
function (m) {
m.destroy();
_this.logger.d(TAG, 'map destroyed.');
_this.map = null;
}));
};
AMapService.decorators = [
{ type: Injectable }
];
/** @nocollapse */
AMapService.ctorParameters = function () { return [
{ type: AMapLoaderService },
{ type: LoggerService },
{ type: NgZone }
]; };
return AMapService;
}());
export { AMapService };
if (false) {
/**
* @type {?}
* @private
*/
AMapService.prototype.map;
/**
* @type {?}
* @private
*/
AMapService.prototype.map$;
/**
* @type {?}
* @private
*/
AMapService.prototype.loader;
/**
* @type {?}
* @private
*/
AMapService.prototype.logger;
/**
* @type {?}
* @private
*/
AMapService.prototype.ngZone;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW1hcC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vbmd4LWFtYXAvIiwic291cmNlcyI6WyJzaGFyZWQvYW1hcC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNyQyxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDckMsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDMUQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHlCQUF5QixDQUFDOztJQUdsRCxHQUFHLEdBQUcsTUFBTTtBQUVsQjtJQUtFLHFCQUNVLE1BQXlCLEVBQ3pCLE1BQXFCLEVBQ3JCLE1BQWM7UUFGZCxXQUFNLEdBQU4sTUFBTSxDQUFtQjtRQUN6QixXQUFNLEdBQU4sTUFBTSxDQUFlO1FBQ3JCLFdBQU0sR0FBTixNQUFNLENBQVE7UUFMaEIsU0FBSSxHQUFHLElBQUksYUFBYSxFQUFZLENBQUM7SUFNMUMsQ0FBQztJQUVKOztPQUVHOzs7OztJQUNILHlCQUFHOzs7O0lBQUg7UUFDRSxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDbEMsQ0FBQztJQUVEOzs7O09BSUc7Ozs7Ozs7SUFDSCw0QkFBTTs7Ozs7O0lBQU4sVUFBTyxTQUFzQixFQUFFLE9BQXlCO1FBQXhELGlCQVVDO1FBVEMsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxDQUFDLElBQUksQ0FDNUIsR0FBRzs7O1FBQUM7WUFDRixLQUFJLENBQUMsR0FBRyxHQUFHLEtBQUksQ0FBQyxNQUFNLENBQUMsaUJBQWlCOzs7WUFBQyxjQUFNLE9BQUEsSUFBSSxJQUFJLENBQUMsR0FBRyxDQUFDLFNBQVMsRUFBRSxPQUFPLENBQUMsRUFBaEMsQ0FBZ0MsRUFBQyxDQUFDO1lBQ2pGLEtBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxrQkFBa0IsQ0FBQyxDQUFDO1lBQ3ZDLEtBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUN6QixLQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ3JCLE9BQU8sS0FBSSxDQUFDLEdBQUcsQ0FBQztRQUNsQixDQUFDLEVBQUMsQ0FDSCxDQUFDO0lBQ0osQ0FBQztJQUVEOztPQUVHOzs7OztJQUNILDZCQUFPOzs7O0lBQVA7UUFBQSxpQkFNQztRQUxDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxTQUFTOzs7O1FBQUMsVUFBQSxDQUFDO1lBQ3BCLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUNaLEtBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxnQkFBZ0IsQ0FBQyxDQUFDO1lBQ3JDLEtBQUksQ0FBQyxHQUFHLEdBQUcsSUFBSSxDQUFDO1FBQ2xCLENBQUMsRUFBQyxDQUFDO0lBQ0wsQ0FBQzs7Z0JBNUNGLFVBQVU7Ozs7Z0JBTkYsaUJBQWlCO2dCQUNqQixhQUFhO2dCQUpELE1BQU07O0lBc0QzQixrQkFBQztDQUFBLEFBN0NELElBNkNDO1NBNUNZLFdBQVc7Ozs7OztJQUN0QiwwQkFBc0I7Ozs7O0lBQ3RCLDJCQUE2Qzs7Ozs7SUFHM0MsNkJBQWlDOzs7OztJQUNqQyw2QkFBNkI7Ozs7O0lBQzdCLDZCQUFzQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIE5nWm9uZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUmVwbGF5U3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgQU1hcExvYWRlclNlcnZpY2UgfSBmcm9tICcuL2FtYXAtbG9hZGVyLnNlcnZpY2UnO1xuaW1wb3J0IHsgTG9nZ2VyU2VydmljZSB9IGZyb20gJy4vbG9nZ2VyL2xvZ2dlci5zZXJ2aWNlJztcbmltcG9ydCB7IEdldHRlciB9IGZyb20gJy4uL2Jhc2UvaW50ZXJmYWNlcyc7XG5cbmNvbnN0IFRBRyA9ICdBTWFwJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIEFNYXBTZXJ2aWNlIGltcGxlbWVudHMgR2V0dGVyPEFNYXAuTWFwPiB7XG4gIHByaXZhdGUgbWFwOiBBTWFwLk1hcDtcbiAgcHJpdmF0ZSBtYXAkID0gbmV3IFJlcGxheVN1YmplY3Q8QU1hcC5NYXA+KCk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBsb2FkZXI6IEFNYXBMb2FkZXJTZXJ2aWNlLFxuICAgIHByaXZhdGUgbG9nZ2VyOiBMb2dnZXJTZXJ2aWNlLFxuICAgIHByaXZhdGUgbmdab25lOiBOZ1pvbmUsXG4gICkge31cblxuICAvKipcbiAgICog6I635Y+W5Zyw5Zu+5a+56LGhIEFNYXAuTWFwXG4gICAqL1xuICBnZXQoKSB7XG4gICAgcmV0dXJuIHRoaXMubWFwJC5hc09ic2VydmFibGUoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiDliJvlu7rlnLDlm77lr7nosaEgQU1hcC5NYXBcbiAgICogQHBhcmFtIGNvbnRhaW5lciDlnLDlm77lrrnlmajnmoRET03lhYPntKBcbiAgICogQHBhcmFtIG9wdGlvbnMg6YCJ6aG5XG4gICAqL1xuICBjcmVhdGUoY29udGFpbmVyOiBIVE1MRWxlbWVudCwgb3B0aW9uczogQU1hcC5NYXAuT3B0aW9ucykge1xuICAgIHJldHVybiB0aGlzLmxvYWRlci5sb2FkKCkucGlwZShcbiAgICAgIG1hcCgoKSA9PiB7XG4gICAgICAgIHRoaXMubWFwID0gdGhpcy5uZ1pvbmUucnVuT3V0c2lkZUFuZ3VsYXIoKCkgPT4gbmV3IEFNYXAuTWFwKGNvbnRhaW5lciwgb3B0aW9ucykpO1xuICAgICAgICB0aGlzLmxvZ2dlci5kKFRBRywgJ25ldyBtYXAgY3JlYXRlZC4nKTtcbiAgICAgICAgdGhpcy5tYXAkLm5leHQodGhpcy5tYXApO1xuICAgICAgICB0aGlzLm1hcCQuY29tcGxldGUoKTtcbiAgICAgICAgcmV0dXJuIHRoaXMubWFwO1xuICAgICAgfSksXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiDplIDmr4HlnLDlm77lr7nosaFcbiAgICovXG4gIGRlc3Ryb3koKSB7XG4gICAgdGhpcy5nZXQoKS5zdWJzY3JpYmUobSA9PiB7XG4gICAgICBtLmRlc3Ryb3koKTtcbiAgICAgIHRoaXMubG9nZ2VyLmQoVEFHLCAnbWFwIGRlc3Ryb3llZC4nKTtcbiAgICAgIHRoaXMubWFwID0gbnVsbDtcbiAgICB9KTtcbiAgfVxufVxuIl19