road-map.component.ts 841 Bytes
import { Component, Input, AfterViewInit } from '@angular/core';
import * as L from 'leaflet';

@Component({
    // tslint:disable-next-line:component-selector
    selector: 'road-map',
    template: '<div id="{{identificator}}" [style.height]="getHeight()" ></div>',
})
export class RoadMapComponent implements AfterViewInit {
    protected isVisible: boolean = false;
    protected map: L.Map;
    @Input() identificator: string = 'mapID';

    public ngAfterViewInit(): void {
        this.map = L.map(this.identificator).setView([51.505, -0.09], 13);
        L.tileLayer('https://a.tile.openstreetmap.org/{z}/{x}/{y}.png', {
            maxZoom: 18,
        }).addTo(this.map);
    }
    public showMap(): void {
        this.isVisible = true;
    }
    public getHeight(): string {
        return this.isVisible ? '100%' : '0';
    }
}