ngx-amap
Version:
[][npm-badge-url] [][npm-badge-url] [][ci-url]
205 lines • 12.5 kB
JavaScript
/**
* @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==