UNPKG

@ng-maps/core

Version:

**@ng-maps/core** is a simple, modular and tree-shakable library for displaying google-maps inside an angular application

43 lines 7.17 kB
import { Injectable, NgZone } from '@angular/core'; import { MapsApiWrapper } from '../maps-api-wrapper'; import * as i0 from "@angular/core"; import * as i1 from "../maps-api-wrapper"; export class MarkerManager { constructor(_mapsWrapper, _zone) { this._mapsWrapper = _mapsWrapper; this._zone = _zone; this._markers = new Map(); } async addMarker(marker) { if (typeof marker.latitude !== 'number' || typeof marker.longitude !== 'number') { return; } const m = await this._mapsWrapper.createMarker({ lat: marker.latitude, lng: marker.longitude }, // TODO typings { label: marker.label, draggable: marker.draggable, icon: marker.icon ?? marker.iconUrl, opacity: marker.opacity, optimized: marker.optimized, visible: marker.visible, zIndex: marker.zIndex, title: marker.title, clickable: marker.clickable, animation: typeof marker.animation === 'string' ? google.maps.Animation[marker.animation] : marker.animation, }); this._markers.set(marker, m); } getNativeMarker(marker) { return this._markers.get(marker); } static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: MarkerManager, deps: [{ token: i1.MapsApiWrapper }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Injectable }); } static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: MarkerManager }); } } i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: MarkerManager, decorators: [{ type: Injectable }], ctorParameters: () => [{ type: i1.MapsApiWrapper }, { type: i0.NgZone }] }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFya2VyLm1hbmFnZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvcmUvc3JjL2xpYi9zZXJ2aWNlcy9tYW5hZ2Vycy9tYXJrZXIubWFuYWdlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUluRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0scUJBQXFCLENBQUM7OztBQUdyRCxNQUFNLE9BQWdCLGFBQWE7SUFNakMsWUFDWSxZQUE0QixFQUM1QixLQUFhO1FBRGIsaUJBQVksR0FBWixZQUFZLENBQWdCO1FBQzVCLFVBQUssR0FBTCxLQUFLLENBQVE7UUFQZixhQUFRLEdBQWtDLElBQUksR0FBRyxFQUd4RCxDQUFDO0lBS0QsQ0FBQztJQXlCRyxLQUFLLENBQUMsU0FBUyxDQUFDLE1BQTZCO1FBQ2xELElBQ0UsT0FBTyxNQUFNLENBQUMsUUFBUSxLQUFLLFFBQVE7WUFDbkMsT0FBTyxNQUFNLENBQUMsU0FBUyxLQUFLLFFBQVEsRUFDcEMsQ0FBQztZQUNELE9BQU87UUFDVCxDQUFDO1FBQ0QsTUFBTSxDQUFDLEdBQUcsTUFBTSxJQUFJLENBQUMsWUFBWSxDQUFDLFlBQVksQ0FDNUMsRUFBRSxHQUFHLEVBQUUsTUFBTSxDQUFDLFFBQVEsRUFBRSxHQUFHLEVBQUUsTUFBTSxDQUFDLFNBQVMsRUFBRTtRQUMvQyxlQUFlO1FBQ2Y7WUFDRSxLQUFLLEVBQUUsTUFBTSxDQUFDLEtBQUs7WUFDbkIsU0FBUyxFQUFFLE1BQU0sQ0FBQyxTQUFTO1lBQzNCLElBQUksRUFBRSxNQUFNLENBQUMsSUFBSSxJQUFJLE1BQU0sQ0FBQyxPQUFPO1lBQ25DLE9BQU8sRUFBRSxNQUFNLENBQUMsT0FBTztZQUN2QixTQUFTLEVBQUUsTUFBTSxDQUFDLFNBQVM7WUFDM0IsT0FBTyxFQUFFLE1BQU0sQ0FBQyxPQUFPO1lBQ3ZCLE1BQU0sRUFBRSxNQUFNLENBQUMsTUFBTTtZQUNyQixLQUFLLEVBQUUsTUFBTSxDQUFDLEtBQUs7WUFDbkIsU0FBUyxFQUFFLE1BQU0sQ0FBQyxTQUFTO1lBQzNCLFNBQVMsRUFDUCxPQUFPLE1BQU0sQ0FBQyxTQUFTLEtBQUssUUFBUTtnQkFDbEMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUM7Z0JBQ3pDLENBQUMsQ0FBQyxNQUFNLENBQUMsU0FBUztTQUNoQixDQUNULENBQUM7UUFDRixJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDL0IsQ0FBQztJQUVNLGVBQWUsQ0FBQyxNQUE2QjtRQUNsRCxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ25DLENBQUM7OEdBakVtQixhQUFhO2tIQUFiLGFBQWE7OzJGQUFiLGFBQWE7a0JBRGxDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlLCBOZ1pvbmUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgTmdNYXBzTWFya2VyQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vZGlyZWN0aXZlcy9tYXJrZXInO1xuaW1wb3J0IHsgTWFwc0FwaVdyYXBwZXIgfSBmcm9tICcuLi9tYXBzLWFwaS13cmFwcGVyJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIE1hcmtlck1hbmFnZXI8VCA9IGFueT4ge1xuICBwcm90ZWN0ZWQgX21hcmtlcnM6IE1hcDxOZ01hcHNNYXJrZXJDb21wb25lbnQsIFQ+ID0gbmV3IE1hcDxcbiAgICBOZ01hcHNNYXJrZXJDb21wb25lbnQsXG4gICAgVFxuICA+KCk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJvdGVjdGVkIF9tYXBzV3JhcHBlcjogTWFwc0FwaVdyYXBwZXIsXG4gICAgcHJvdGVjdGVkIF96b25lOiBOZ1pvbmUsXG4gICkge31cblxuICBwdWJsaWMgYWJzdHJhY3QgZGVsZXRlTWFya2VyKG1hcmtlcjogTmdNYXBzTWFya2VyQ29tcG9uZW50KTogdm9pZDtcblxuICBwdWJsaWMgYWJzdHJhY3QgdXBkYXRlTWFya2VyUG9zaXRpb24obWFya2VyOiBOZ01hcHNNYXJrZXJDb21wb25lbnQpOiB2b2lkO1xuXG4gIHB1YmxpYyBhYnN0cmFjdCB1cGRhdGVUaXRsZShtYXJrZXI6IE5nTWFwc01hcmtlckNvbXBvbmVudCk6IHZvaWQ7XG5cbiAgcHVibGljIGFic3RyYWN0IHVwZGF0ZUxhYmVsKG1hcmtlcjogTmdNYXBzTWFya2VyQ29tcG9uZW50KTogdm9pZDtcblxuICBwdWJsaWMgYWJzdHJhY3QgdXBkYXRlRHJhZ2dhYmxlKG1hcmtlcjogTmdNYXBzTWFya2VyQ29tcG9uZW50KTogdm9pZDtcblxuICBwdWJsaWMgYWJzdHJhY3QgdXBkYXRlSWNvbkxlZ2FjeShtYXJrZXI6IE5nTWFwc01hcmtlckNvbXBvbmVudCk6IHZvaWQ7XG4gIHB1YmxpYyBhYnN0cmFjdCB1cGRhdGVJY29uKG1hcmtlcjogTmdNYXBzTWFya2VyQ29tcG9uZW50KTogdm9pZDtcblxuICBwdWJsaWMgYWJzdHJhY3QgdXBkYXRlT3BhY2l0eShtYXJrZXI6IE5nTWFwc01hcmtlckNvbXBvbmVudCk6IHZvaWQ7XG5cbiAgcHVibGljIGFic3RyYWN0IHVwZGF0ZVZpc2libGUobWFya2VyOiBOZ01hcHNNYXJrZXJDb21wb25lbnQpOiB2b2lkO1xuXG4gIHB1YmxpYyBhYnN0cmFjdCB1cGRhdGVaSW5kZXgobWFya2VyOiBOZ01hcHNNYXJrZXJDb21wb25lbnQpOiB2b2lkO1xuXG4gIHB1YmxpYyBhYnN0cmFjdCB1cGRhdGVDbGlja2FibGUobWFya2VyOiBOZ01hcHNNYXJrZXJDb21wb25lbnQpOiB2b2lkO1xuXG4gIHB1YmxpYyBhYnN0cmFjdCB1cGRhdGVBbmltYXRpb24obWFya2VyOiBOZ01hcHNNYXJrZXJDb21wb25lbnQpOiB2b2lkO1xuXG4gIHB1YmxpYyBhc3luYyBhZGRNYXJrZXIobWFya2VyOiBOZ01hcHNNYXJrZXJDb21wb25lbnQpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBpZiAoXG4gICAgICB0eXBlb2YgbWFya2VyLmxhdGl0dWRlICE9PSAnbnVtYmVyJyB8fFxuICAgICAgdHlwZW9mIG1hcmtlci5sb25naXR1ZGUgIT09ICdudW1iZXInXG4gICAgKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGNvbnN0IG0gPSBhd2FpdCB0aGlzLl9tYXBzV3JhcHBlci5jcmVhdGVNYXJrZXIoXG4gICAgICB7IGxhdDogbWFya2VyLmxhdGl0dWRlLCBsbmc6IG1hcmtlci5sb25naXR1ZGUgfSxcbiAgICAgIC8vIFRPRE8gdHlwaW5nc1xuICAgICAge1xuICAgICAgICBsYWJlbDogbWFya2VyLmxhYmVsLFxuICAgICAgICBkcmFnZ2FibGU6IG1hcmtlci5kcmFnZ2FibGUsXG4gICAgICAgIGljb246IG1hcmtlci5pY29uID8/IG1hcmtlci5pY29uVXJsLFxuICAgICAgICBvcGFjaXR5OiBtYXJrZXIub3BhY2l0eSxcbiAgICAgICAgb3B0aW1pemVkOiBtYXJrZXIub3B0aW1pemVkLFxuICAgICAgICB2aXNpYmxlOiBtYXJrZXIudmlzaWJsZSxcbiAgICAgICAgekluZGV4OiBtYXJrZXIuekluZGV4LFxuICAgICAgICB0aXRsZTogbWFya2VyLnRpdGxlLFxuICAgICAgICBjbGlja2FibGU6IG1hcmtlci5jbGlja2FibGUsXG4gICAgICAgIGFuaW1hdGlvbjpcbiAgICAgICAgICB0eXBlb2YgbWFya2VyLmFuaW1hdGlvbiA9PT0gJ3N0cmluZydcbiAgICAgICAgICAgID8gZ29vZ2xlLm1hcHMuQW5pbWF0aW9uW21hcmtlci5hbmltYXRpb25dXG4gICAgICAgICAgICA6IG1hcmtlci5hbmltYXRpb24sXG4gICAgICB9IGFzIGFueSxcbiAgICApO1xuICAgIHRoaXMuX21hcmtlcnMuc2V0KG1hcmtlciwgbSk7XG4gIH1cblxuICBwdWJsaWMgZ2V0TmF0aXZlTWFya2VyKG1hcmtlcjogTmdNYXBzTWFya2VyQ29tcG9uZW50KTogVCB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIHRoaXMuX21hcmtlcnMuZ2V0KG1hcmtlcik7XG4gIH1cblxuICBwdWJsaWMgYWJzdHJhY3QgY3JlYXRlRXZlbnRPYnNlcnZhYmxlPEU+KFxuICAgIGV2ZW50TmFtZTogc3RyaW5nIHwgQXJyYXk8c3RyaW5nPixcbiAgICBtYXJrZXI6IE5nTWFwc01hcmtlckNvbXBvbmVudCxcbiAgKTogT2JzZXJ2YWJsZTxFPjtcbn1cbiJdfQ==