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]

205 lines 12.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 * 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 { PluginLoaderService } from '../../shared/plugin-loader.service'; import { LoggerService } from '../../shared/logger/logger.service'; /** @type {?} */ var 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 = {})); var AmapToolBarService = /** @class */ (function () { function AmapToolBarService(amaps, plugin, logger, ngZone) { this.amaps = amaps; this.plugin = plugin; this.logger = logger; this.ngZone = ngZone; this.toolBar$ = new ReplaySubject(1); } /** * 获取工具条 */ /** * 获取工具条 * @return {?} */ AmapToolBarService.prototype.get = /** * 获取工具条 * @return {?} */ function () { return this.toolBar$.asObservable(); }; /** * 创建工具条 AMap.ToolBar * @param options 选项 */ /** * 创建工具条 AMap.ToolBar * @param {?} options 选项 * @return {?} */ AmapToolBarService.prototype.create = /** * 创建工具条 AMap.ToolBar * @param {?} options 选项 * @return {?} */ function (options) { var _this = this; return zip(this.amaps.get(), this.plugin.load('AMap.ToolBar')).pipe(map((/** * @param {?} __0 * @return {?} */ function (_a) { var _b = tslib_1.__read(_a, 1), m = _b[0]; _this.toolBar = _this.ngZone.runOutsideAngular((/** * @return {?} */ function () { 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 {?} */ AmapToolBarService.prototype.destroy = /** * 销毁工具条 * @return {?} */ function () { var _this = this; zip(this.amaps.get(), this.get()).subscribe((/** * @param {?} __0 * @return {?} */ function (_a) { var _b = tslib_1.__read(_a, 2), m = _b[0], toolBar = _b[1]; m.removeControl(toolBar); _this.logger.d(TAG, 'toolBar destroyed.'); _this.toolBar = null; })); }; AmapToolBarService.decorators = [ { type: Injectable } ]; /** @nocollapse */ AmapToolBarService.ctorParameters = function () { return [ { type: AMapService }, { type: PluginLoaderService }, { type: LoggerService }, { type: NgZone } ]; }; return AmapToolBarService; }()); export { AmapToolBarService }; 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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW1hcC10b29sLWJhci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vbmd4LWFtYXAvIiwic291cmNlcyI6WyJkaXJlY3RpdmVzL2FtYXAtdG9vbC1iYXIvYW1hcC10b29sLWJhci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxhQUFhLEVBQUUsR0FBRyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzFDLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNyQyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDeEQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDekUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLG9DQUFvQyxDQUFDOztJQUk3RCxHQUFHLEdBQUcsYUFBYTtBQUV6QixNQUFNLEtBQVcsV0FBVyxDQWtEM0I7QUFsREQsV0FBaUIsV0FBVzs7OztJQUMxQixzQkErQ0M7Ozs7Ozs7UUEzQ0MseUJBQW9COzs7Ozs7Ozs7UUFRcEIsMkJBQW9COzs7OztRQUlwQix3QkFBZ0I7Ozs7O1FBSWhCLDZCQUFxQjs7Ozs7UUFJckIseUJBQWlCOzs7OztRQUlqQiw0QkFBb0I7Ozs7O1FBSXBCLDRCQUFvQjs7Ozs7UUFJcEIsK0JBQXVCOzs7OztRQUl2QixpQ0FBNkI7Ozs7O1FBSTdCLDRCQUFvQjs7UUFFcEIsMEJBQWlCOztBQUdyQixDQUFDLEVBbERnQixXQUFXLEtBQVgsV0FBVyxRQWtEM0I7QUFFRDtJQUtFLDRCQUNVLEtBQWtCLEVBQ2xCLE1BQTJCLEVBQzNCLE1BQXFCLEVBQ3JCLE1BQWM7UUFIZCxVQUFLLEdBQUwsS0FBSyxDQUFhO1FBQ2xCLFdBQU0sR0FBTixNQUFNLENBQXFCO1FBQzNCLFdBQU0sR0FBTixNQUFNLENBQWU7UUFDckIsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQU5oQixhQUFRLEdBQUcsSUFBSSxhQUFhLENBQU0sQ0FBQyxDQUFDLENBQUM7SUFPMUMsQ0FBQztJQUVKOztPQUVHOzs7OztJQUNILGdDQUFHOzs7O0lBQUg7UUFDRSxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDdEMsQ0FBQztJQUVEOzs7T0FHRzs7Ozs7O0lBQ0gsbUNBQU07Ozs7O0lBQU4sVUFBTyxPQUE0QjtRQUFuQyxpQkFXQztRQVZDLE9BQU8sR0FBRyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxFQUFFLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQ2pFLEdBQUc7Ozs7UUFBQyxVQUFDLEVBQUc7Z0JBQUgsMEJBQUcsRUFBRixTQUFDO1lBQ0wsS0FBSSxDQUFDLE9BQU8sR0FBRyxLQUFJLENBQUMsTUFBTSxDQUFDLGlCQUFpQjs7O1lBQUMsY0FBTSxPQUFBLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsRUFBekIsQ0FBeUIsRUFBQyxDQUFDO1lBQzlFLEtBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxzQkFBc0IsQ0FBQyxDQUFDO1lBQzNDLENBQUMsQ0FBQyxVQUFVLENBQUMsS0FBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQzNCLEtBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEtBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUNqQyxLQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ3pCLE9BQU8sS0FBSSxDQUFDLE9BQU8sQ0FBQztRQUN0QixDQUFDLEVBQUMsQ0FDSCxDQUFDO0lBQ0osQ0FBQztJQUVEOztPQUVHOzs7OztJQUNILG9DQUFPOzs7O0lBQVA7UUFBQSxpQkFNQztRQUxDLEdBQUcsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsRUFBRSxFQUFFLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLFNBQVM7Ozs7UUFBQyxVQUFDLEVBQVk7Z0JBQVosMEJBQVksRUFBWCxTQUFDLEVBQUUsZUFBTztZQUN0RCxDQUFDLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQ3pCLEtBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxvQkFBb0IsQ0FBQyxDQUFDO1lBQ3pDLEtBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDO1FBQ3RCLENBQUMsRUFBQyxDQUFDO0lBQ0wsQ0FBQzs7Z0JBN0NGLFVBQVU7Ozs7Z0JBNURGLFdBQVc7Z0JBQ1gsbUJBQW1CO2dCQUNuQixhQUFhO2dCQUxELE1BQU07O0lBNkczQix5QkFBQztDQUFBLEFBOUNELElBOENDO1NBN0NZLGtCQUFrQjs7Ozs7O0lBQzdCLHFDQUFxQjs7Ozs7SUFDckIsc0NBQTZDOzs7OztJQUczQyxtQ0FBMEI7Ozs7O0lBQzFCLG9DQUFtQzs7Ozs7SUFDbkMsb0NBQTZCOzs7OztJQUM3QixvQ0FBc0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlLCBOZ1pvbmUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFJlcGxheVN1YmplY3QsIHppcCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgQU1hcFNlcnZpY2UgfSBmcm9tICcuLi8uLi9zaGFyZWQvYW1hcC5zZXJ2aWNlJztcbmltcG9ydCB7IFBsdWdpbkxvYWRlclNlcnZpY2UgfSBmcm9tICcuLi8uLi9zaGFyZWQvcGx1Z2luLWxvYWRlci5zZXJ2aWNlJztcbmltcG9ydCB7IExvZ2dlclNlcnZpY2UgfSBmcm9tICcuLi8uLi9zaGFyZWQvbG9nZ2VyL2xvZ2dlci5zZXJ2aWNlJztcbmltcG9ydCB7IEdldHRlciB9IGZyb20gJy4uLy4uL2Jhc2UvaW50ZXJmYWNlcyc7XG5kZWNsYXJlIGNvbnN0IEFNYXA6IGFueTtcblxuY29uc3QgVEFHID0gJ0FtYXBUb29sQmFyJztcblxuZXhwb3J0IG5hbWVzcGFjZSBBTWFwVG9vbEJhciB7XG4gIGV4cG9ydCBpbnRlcmZhY2UgT3B0aW9ucyB7XG4gICAgLyoqXG4gICAgICog55u45a+55LqO5Zyw5Zu+5a655Zmo5bem5LiK6KeS55qE5YGP56e76YePXG4gICAgICovXG4gICAgb2Zmc2V0PzogQU1hcC5QaXhlbDtcbiAgICAvKipcbiAgICAgKiDmjqfku7blgZzpnaDkvY3nva5cbiAgICAgKiBMVDrlt6bkuIrop5I7XG4gICAgICogUlQ65Y+z5LiK6KeSO1xuICAgICAqIExCOuW3puS4i+inkjtcbiAgICAgKiBSQjrlj7PkuIvop5I7XG4gICAgICovXG4gICAgcG9zaXRpb24/OiBQb3NpdGlvbjtcbiAgICAvKipcbiAgICAgKiDmoIflsLrplK7nm5jmmK/lkKblj6/op4FcbiAgICAgKi9cbiAgICBydWxlcj86IGJvb2xlYW47XG4gICAgLyoqXG4gICAgICog5a6a5L2N5aSx6LSl5ZCO77yM5piv5ZCm5byA5ZCvSVDlrprkvY1cbiAgICAgKi9cbiAgICBub0lwTG9jYXRlPzogYm9vbGVhbjtcbiAgICAvKipcbiAgICAgKiDmmK/lkKbmmL7npLrlrprkvY3mjInpkq5cbiAgICAgKi9cbiAgICBsb2NhdGU/OiBib29sZWFuO1xuICAgIC8qKlxuICAgICAqIOaYr+WQpuS9v+eUqOeyvueugOaooeW8j1xuICAgICAqL1xuICAgIGxpdGVTdHlsZT86IGJvb2xlYW47XG4gICAgLyoqXG4gICAgICog5pa55ZCR6ZSu55uY5piv5ZCm5Y+v6KeBXG4gICAgICovXG4gICAgZGlyZWN0aW9uPzogYm9vbGVhbjtcbiAgICAvKipcbiAgICAgKiDmmK/lkKboh6rliqjlrprkvY3vvIzljbPlnLDlm77liJ3lp4vljJbliqDovb3lrozmiJDlkI7vvIzmmK/lkKboh6rliqjlrprkvY3nmoTnlKjmiLfmiYDlnKjlnLDvvIzku4XlnKjmlK/mjIFIVE1MNeeahOa1j+iniOWZqOS4reacieaViFxuICAgICAqL1xuICAgIGF1dG9Qb3NpdGlvbj86IGJvb2xlYW47XG4gICAgLyoqXG4gICAgICog6Ieq5a6a5LmJ5a6a5L2N5Zu+5qCH77yM5YC85Li6TWFya2Vy5a+56LGhXG4gICAgICovXG4gICAgbG9jYXRpb25NYXJrZXI/OiBBTWFwLk1hcmtlcjtcbiAgICAvKipcbiAgICAgKiDmmK/lkKbkvb/nlKjpq5jlvrflrprkvY1zZGvnlKjmnaXovoXliqnkvJjljJblrprkvY3mlYjmnpxcbiAgICAgKi9cbiAgICB1c2VOYXRpdmU/OiBib29sZWFuO1xuICAgIC8vIGludGVybmFsXG4gICAgdGltZW91dD86IG51bWJlcjtcbiAgfVxuICBleHBvcnQgdHlwZSBQb3NpdGlvbiA9ICdMVCcgfCAnUlQnIHwgJ0xCJyB8ICdSQic7XG59XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBBbWFwVG9vbEJhclNlcnZpY2UgaW1wbGVtZW50cyBHZXR0ZXI8YW55PiB7XG4gIHByaXZhdGUgdG9vbEJhcjogYW55O1xuICBwcml2YXRlIHRvb2xCYXIkID0gbmV3IFJlcGxheVN1YmplY3Q8YW55PigxKTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGFtYXBzOiBBTWFwU2VydmljZSxcbiAgICBwcml2YXRlIHBsdWdpbjogUGx1Z2luTG9hZGVyU2VydmljZSxcbiAgICBwcml2YXRlIGxvZ2dlcjogTG9nZ2VyU2VydmljZSxcbiAgICBwcml2YXRlIG5nWm9uZTogTmdab25lLFxuICApIHt9XG5cbiAgLyoqXG4gICAqIOiOt+WPluW3peWFt+adoVxuICAgKi9cbiAgZ2V0KCkge1xuICAgIHJldHVybiB0aGlzLnRvb2xCYXIkLmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgLyoqXG4gICAqIOWIm+W7uuW3peWFt+adoSBBTWFwLlRvb2xCYXJcbiAgICogQHBhcmFtIG9wdGlvbnMg6YCJ6aG5XG4gICAqL1xuICBjcmVhdGUob3B0aW9uczogQU1hcFRvb2xCYXIuT3B0aW9ucykge1xuICAgIHJldHVybiB6aXAodGhpcy5hbWFwcy5nZXQoKSwgdGhpcy5wbHVnaW4ubG9hZCgnQU1hcC5Ub29sQmFyJykpLnBpcGUoXG4gICAgICBtYXAoKFttXSkgPT4ge1xuICAgICAgICB0aGlzLnRvb2xCYXIgPSB0aGlzLm5nWm9uZS5ydW5PdXRzaWRlQW5ndWxhcigoKSA9PiBuZXcgQU1hcC5Ub29sQmFyKG9wdGlvbnMpKTtcbiAgICAgICAgdGhpcy5sb2dnZXIuZChUQUcsICduZXcgdG9vbEJhciBjcmVhdGVkLicpO1xuICAgICAgICBtLmFkZENvbnRyb2wodGhpcy50b29sQmFyKTtcbiAgICAgICAgdGhpcy50b29sQmFyJC5uZXh0KHRoaXMudG9vbEJhcik7XG4gICAgICAgIHRoaXMudG9vbEJhciQuY29tcGxldGUoKTtcbiAgICAgICAgcmV0dXJuIHRoaXMudG9vbEJhcjtcbiAgICAgIH0pLFxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICog6ZSA5q+B5bel5YW35p2hXG4gICAqL1xuICBkZXN0cm95KCkge1xuICAgIHppcCh0aGlzLmFtYXBzLmdldCgpLCB0aGlzLmdldCgpKS5zdWJzY3JpYmUoKFttLCB0b29sQmFyXSkgPT4ge1xuICAgICAgbS5yZW1vdmVDb250cm9sKHRvb2xCYXIpO1xuICAgICAgdGhpcy5sb2dnZXIuZChUQUcsICd0b29sQmFyIGRlc3Ryb3llZC4nKTtcbiAgICAgIHRoaXMudG9vbEJhciA9IG51bGw7XG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==