UNPKG

ngx-amap

Version:

[![npm](https://img.shields.io/npm/v/ngx-amap.svg)][npm-badge-url] [![npm](https://img.shields.io/npm/dm/ngx-amap.svg)][npm-badge-url] [![Build Status](https://travis-ci.org/xieziyu/ngx-amap.svg?branch=master)][ci-url]

129 lines 7.28 kB
/** * @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