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]

181 lines 11.5 kB
/** * @fileoverview added by tsickle * Generated from: directives/amap-tool-bar/amap-tool-bar.service.ts * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ import { Injectable, NgZone } from '@angular/core'; import { ReplaySubject, zip } from 'rxjs'; import { map } from 'rxjs/operators'; import { AMapService } from '../../shared/amap.service'; import { PluginLoaderService } from '../../shared/plugin-loader.service'; import { LoggerService } from '../../shared/logger/logger.service'; /** @type {?} */ const TAG = 'AmapToolBar'; export var AMapToolBar; (function (AMapToolBar) { /** * @record */ function Options() { } AMapToolBar.Options = Options; if (false) { /** * 相对于地图容器左上角的偏移量 * @type {?|undefined} */ Options.prototype.offset; /** * 控件停靠位置 * LT:左上角; * RT:右上角; * LB:左下角; * RB:右下角; * @type {?|undefined} */ Options.prototype.position; /** * 标尺键盘是否可见 * @type {?|undefined} */ Options.prototype.ruler; /** * 定位失败后,是否开启IP定位 * @type {?|undefined} */ Options.prototype.noIpLocate; /** * 是否显示定位按钮 * @type {?|undefined} */ Options.prototype.locate; /** * 是否使用精简模式 * @type {?|undefined} */ Options.prototype.liteStyle; /** * 方向键盘是否可见 * @type {?|undefined} */ Options.prototype.direction; /** * 是否自动定位,即地图初始化加载完成后,是否自动定位的用户所在地,仅在支持HTML5的浏览器中有效 * @type {?|undefined} */ Options.prototype.autoPosition; /** * 自定义定位图标,值为Marker对象 * @type {?|undefined} */ Options.prototype.locationMarker; /** * 是否使用高德定位sdk用来辅助优化定位效果 * @type {?|undefined} */ Options.prototype.useNative; /** @type {?|undefined} */ Options.prototype.timeout; } })(AMapToolBar || (AMapToolBar = {})); export class AmapToolBarService { /** * @param {?} amaps * @param {?} plugin * @param {?} logger * @param {?} ngZone */ constructor(amaps, plugin, logger, ngZone) { this.amaps = amaps; this.plugin = plugin; this.logger = logger; this.ngZone = ngZone; this.toolBar$ = new ReplaySubject(1); } /** * 获取工具条 * @return {?} */ get() { return this.toolBar$.asObservable(); } /** * 创建工具条 AMap.ToolBar * @param {?} options 选项 * @return {?} */ create(options) { return zip(this.amaps.get(), this.plugin.load('AMap.ToolBar')).pipe(map((/** * @param {?} __0 * @return {?} */ ([m]) => { this.toolBar = this.ngZone.runOutsideAngular((/** * @return {?} */ () => new AMap.ToolBar(options))); this.logger.d(TAG, 'new toolBar created.'); m.addControl(this.toolBar); this.toolBar$.next(this.toolBar); this.toolBar$.complete(); return this.toolBar; }))); } /** * 销毁工具条 * @return {?} */ destroy() { zip(this.amaps.get(), this.get()).subscribe((/** * @param {?} __0 * @return {?} */ ([m, toolBar]) => { m.removeControl(toolBar); this.logger.d(TAG, 'toolBar destroyed.'); this.toolBar = null; })); } } AmapToolBarService.decorators = [ { type: Injectable } ]; /** @nocollapse */ AmapToolBarService.ctorParameters = () => [ { type: AMapService }, { type: PluginLoaderService }, { type: LoggerService }, { type: NgZone } ]; if (false) { /** * @type {?} * @private */ AmapToolBarService.prototype.toolBar; /** * @type {?} * @private */ AmapToolBarService.prototype.toolBar$; /** * @type {?} * @private */ AmapToolBarService.prototype.amaps; /** * @type {?} * @private */ AmapToolBarService.prototype.plugin; /** * @type {?} * @private */ AmapToolBarService.prototype.logger; /** * @type {?} * @private */ AmapToolBarService.prototype.ngZone; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW1hcC10b29sLWJhci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vbmd4LWFtYXAvIiwic291cmNlcyI6WyJkaXJlY3RpdmVzL2FtYXAtdG9vbC1iYXIvYW1hcC10b29sLWJhci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFFLGFBQWEsRUFBRSxHQUFHLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDMUMsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3JDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUN4RCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUN6RSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sb0NBQW9DLENBQUM7O01BSTdELEdBQUcsR0FBRyxhQUFhO0FBRXpCLE1BQU0sS0FBVyxXQUFXLENBa0QzQjtBQWxERCxXQUFpQixXQUFXOzs7O0lBQzFCLHNCQStDQzs7Ozs7OztRQTNDQyx5QkFBb0I7Ozs7Ozs7OztRQVFwQiwyQkFBb0I7Ozs7O1FBSXBCLHdCQUFnQjs7Ozs7UUFJaEIsNkJBQXFCOzs7OztRQUlyQix5QkFBaUI7Ozs7O1FBSWpCLDRCQUFvQjs7Ozs7UUFJcEIsNEJBQW9COzs7OztRQUlwQiwrQkFBdUI7Ozs7O1FBSXZCLGlDQUE2Qjs7Ozs7UUFJN0IsNEJBQW9COztRQUVwQiwwQkFBaUI7O0FBR3JCLENBQUMsRUFsRGdCLFdBQVcsS0FBWCxXQUFXLFFBa0QzQjtBQUdELE1BQU0sT0FBTyxrQkFBa0I7Ozs7Ozs7SUFJN0IsWUFDVSxLQUFrQixFQUNsQixNQUEyQixFQUMzQixNQUFxQixFQUNyQixNQUFjO1FBSGQsVUFBSyxHQUFMLEtBQUssQ0FBYTtRQUNsQixXQUFNLEdBQU4sTUFBTSxDQUFxQjtRQUMzQixXQUFNLEdBQU4sTUFBTSxDQUFlO1FBQ3JCLFdBQU0sR0FBTixNQUFNLENBQVE7UUFOaEIsYUFBUSxHQUFHLElBQUksYUFBYSxDQUFNLENBQUMsQ0FBQyxDQUFDO0lBTzFDLENBQUM7Ozs7O0lBS0osR0FBRztRQUNELE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUN0QyxDQUFDOzs7Ozs7SUFNRCxNQUFNLENBQUMsT0FBNEI7UUFDakMsT0FBTyxHQUFHLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLEVBQUUsRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FDakUsR0FBRzs7OztRQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO1lBQ1YsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLGlCQUFpQjs7O1lBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxFQUFDLENBQUM7WUFDOUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFLHNCQUFzQixDQUFDLENBQUM7WUFDM0MsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDM0IsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQ2pDLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDekIsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDO1FBQ3RCLENBQUMsRUFBQyxDQUNILENBQUM7SUFDSixDQUFDOzs7OztJQUtELE9BQU87UUFDTCxHQUFHLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLEVBQUUsRUFBRSxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxTQUFTOzs7O1FBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxPQUFPLENBQUMsRUFBRSxFQUFFO1lBQzNELENBQUMsQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDekIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFLG9CQUFvQixDQUFDLENBQUM7WUFDekMsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUM7UUFDdEIsQ0FBQyxFQUFDLENBQUM7SUFDTCxDQUFDOzs7WUE3Q0YsVUFBVTs7OztZQTVERixXQUFXO1lBQ1gsbUJBQW1CO1lBQ25CLGFBQWE7WUFMRCxNQUFNOzs7Ozs7O0lBaUV6QixxQ0FBcUI7Ozs7O0lBQ3JCLHNDQUE2Qzs7Ozs7SUFHM0MsbUNBQTBCOzs7OztJQUMxQixvQ0FBbUM7Ozs7O0lBQ25DLG9DQUE2Qjs7Ozs7SUFDN0Isb0NBQXNCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgTmdab25lIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBSZXBsYXlTdWJqZWN0LCB6aXAgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IEFNYXBTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2hhcmVkL2FtYXAuc2VydmljZSc7XG5pbXBvcnQgeyBQbHVnaW5Mb2FkZXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2hhcmVkL3BsdWdpbi1sb2FkZXIuc2VydmljZSc7XG5pbXBvcnQgeyBMb2dnZXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2hhcmVkL2xvZ2dlci9sb2dnZXIuc2VydmljZSc7XG5pbXBvcnQgeyBHZXR0ZXIgfSBmcm9tICcuLi8uLi9iYXNlL2ludGVyZmFjZXMnO1xuZGVjbGFyZSBjb25zdCBBTWFwOiBhbnk7XG5cbmNvbnN0IFRBRyA9ICdBbWFwVG9vbEJhcic7XG5cbmV4cG9ydCBuYW1lc3BhY2UgQU1hcFRvb2xCYXIge1xuICBleHBvcnQgaW50ZXJmYWNlIE9wdGlvbnMge1xuICAgIC8qKlxuICAgICAqIOebuOWvueS6juWcsOWbvuWuueWZqOW3puS4iuinkueahOWBj+enu+mHj1xuICAgICAqL1xuICAgIG9mZnNldD86IEFNYXAuUGl4ZWw7XG4gICAgLyoqXG4gICAgICog5o6n5Lu25YGc6Z2g5L2N572uXG4gICAgICogTFQ65bem5LiK6KeSO1xuICAgICAqIFJUOuWPs+S4iuinkjtcbiAgICAgKiBMQjrlt6bkuIvop5I7XG4gICAgICogUkI65Y+z5LiL6KeSO1xuICAgICAqL1xuICAgIHBvc2l0aW9uPzogUG9zaXRpb247XG4gICAgLyoqXG4gICAgICog5qCH5bC66ZSu55uY5piv5ZCm5Y+v6KeBXG4gICAgICovXG4gICAgcnVsZXI/OiBib29sZWFuO1xuICAgIC8qKlxuICAgICAqIOWumuS9jeWksei0peWQju+8jOaYr+WQpuW8gOWQr0lQ5a6a5L2NXG4gICAgICovXG4gICAgbm9JcExvY2F0ZT86IGJvb2xlYW47XG4gICAgLyoqXG4gICAgICog5piv5ZCm5pi+56S65a6a5L2N5oyJ6ZKuXG4gICAgICovXG4gICAgbG9jYXRlPzogYm9vbGVhbjtcbiAgICAvKipcbiAgICAgKiDmmK/lkKbkvb/nlKjnsr7nroDmqKHlvI9cbiAgICAgKi9cbiAgICBsaXRlU3R5bGU/OiBib29sZWFuO1xuICAgIC8qKlxuICAgICAqIOaWueWQkemUruebmOaYr+WQpuWPr+ingVxuICAgICAqL1xuICAgIGRpcmVjdGlvbj86IGJvb2xlYW47XG4gICAgLyoqXG4gICAgICog5piv5ZCm6Ieq5Yqo5a6a5L2N77yM5Y2z5Zyw5Zu+5Yid5aeL5YyW5Yqg6L295a6M5oiQ5ZCO77yM5piv5ZCm6Ieq5Yqo5a6a5L2N55qE55So5oi35omA5Zyo5Zyw77yM5LuF5Zyo5pSv5oyBSFRNTDXnmoTmtY/op4jlmajkuK3mnInmlYhcbiAgICAgKi9cbiAgICBhdXRvUG9zaXRpb24/OiBib29sZWFuO1xuICAgIC8qKlxuICAgICAqIOiHquWumuS5ieWumuS9jeWbvuagh++8jOWAvOS4uk1hcmtlcuWvueixoVxuICAgICAqL1xuICAgIGxvY2F0aW9uTWFya2VyPzogQU1hcC5NYXJrZXI7XG4gICAgLyoqXG4gICAgICog5piv5ZCm5L2/55So6auY5b635a6a5L2Nc2Rr55So5p2l6L6F5Yqp5LyY5YyW5a6a5L2N5pWI5p6cXG4gICAgICovXG4gICAgdXNlTmF0aXZlPzogYm9vbGVhbjtcbiAgICAvLyBpbnRlcm5hbFxuICAgIHRpbWVvdXQ/OiBudW1iZXI7XG4gIH1cbiAgZXhwb3J0IHR5cGUgUG9zaXRpb24gPSAnTFQnIHwgJ1JUJyB8ICdMQicgfCAnUkInO1xufVxuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgQW1hcFRvb2xCYXJTZXJ2aWNlIGltcGxlbWVudHMgR2V0dGVyPGFueT4ge1xuICBwcml2YXRlIHRvb2xCYXI6IGFueTtcbiAgcHJpdmF0ZSB0b29sQmFyJCA9IG5ldyBSZXBsYXlTdWJqZWN0PGFueT4oMSk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBhbWFwczogQU1hcFNlcnZpY2UsXG4gICAgcHJpdmF0ZSBwbHVnaW46IFBsdWdpbkxvYWRlclNlcnZpY2UsXG4gICAgcHJpdmF0ZSBsb2dnZXI6IExvZ2dlclNlcnZpY2UsXG4gICAgcHJpdmF0ZSBuZ1pvbmU6IE5nWm9uZSxcbiAgKSB7fVxuXG4gIC8qKlxuICAgKiDojrflj5blt6XlhbfmnaFcbiAgICovXG4gIGdldCgpIHtcbiAgICByZXR1cm4gdGhpcy50b29sQmFyJC5hc09ic2VydmFibGUoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiDliJvlu7rlt6XlhbfmnaEgQU1hcC5Ub29sQmFyXG4gICAqIEBwYXJhbSBvcHRpb25zIOmAiemhuVxuICAgKi9cbiAgY3JlYXRlKG9wdGlvbnM6IEFNYXBUb29sQmFyLk9wdGlvbnMpIHtcbiAgICByZXR1cm4gemlwKHRoaXMuYW1hcHMuZ2V0KCksIHRoaXMucGx1Z2luLmxvYWQoJ0FNYXAuVG9vbEJhcicpKS5waXBlKFxuICAgICAgbWFwKChbbV0pID0+IHtcbiAgICAgICAgdGhpcy50b29sQmFyID0gdGhpcy5uZ1pvbmUucnVuT3V0c2lkZUFuZ3VsYXIoKCkgPT4gbmV3IEFNYXAuVG9vbEJhcihvcHRpb25zKSk7XG4gICAgICAgIHRoaXMubG9nZ2VyLmQoVEFHLCAnbmV3IHRvb2xCYXIgY3JlYXRlZC4nKTtcbiAgICAgICAgbS5hZGRDb250cm9sKHRoaXMudG9vbEJhcik7XG4gICAgICAgIHRoaXMudG9vbEJhciQubmV4dCh0aGlzLnRvb2xCYXIpO1xuICAgICAgICB0aGlzLnRvb2xCYXIkLmNvbXBsZXRlKCk7XG4gICAgICAgIHJldHVybiB0aGlzLnRvb2xCYXI7XG4gICAgICB9KSxcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIOmUgOavgeW3peWFt+adoVxuICAgKi9cbiAgZGVzdHJveSgpIHtcbiAgICB6aXAodGhpcy5hbWFwcy5nZXQoKSwgdGhpcy5nZXQoKSkuc3Vic2NyaWJlKChbbSwgdG9vbEJhcl0pID0+IHtcbiAgICAgIG0ucmVtb3ZlQ29udHJvbCh0b29sQmFyKTtcbiAgICAgIHRoaXMubG9nZ2VyLmQoVEFHLCAndG9vbEJhciBkZXN0cm95ZWQuJyk7XG4gICAgICB0aGlzLnRvb2xCYXIgPSBudWxsO1xuICAgIH0pO1xuICB9XG59XG4iXX0=