@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
JavaScript
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==