<!-------------------------------------------------------------------------------
 * Copyright (c) 2020 Contributors to the Eclipse Foundation
 *
 * See the NOTICE file(s) distributed with this work for additional
 * information regarding copyright ownership.
 *
 * This program and the accompanying materials are made available under the
 * terms of the Eclipse Public License 2.0 which is available at
 * http://www.eclipse.org/legal/epl-2.0
 *
 * SPDX-License-Identifier: EPL-2.0
 -------------------------------------------------------------------------------->

<div class="map">
  <div #appLeaflet="appLeaflet"
       (appClick)="appClick.emit($event)"
       (appPopupClose)="appPopupClose.emit($event)"
       (appLatLngZoomChange)="appCenterChange.emit($event)"
       [appCenter]="appCenter | stringToLatLngZoom"
       [appDisabled]="appDisabled"
       appLeaflet
       class="map--leaflet">

    <ng-content></ng-content>

  </div>

  <app-action-button
    (appClick)="appOpenGis.emit(appLeaflet.getBounds())"
    [appIcon]="'my_location'"
    class="map--button openk-info">
    {{'shared.map.openGIS' | translate}}
  </app-action-button>
</div>

<label *ngIf="appSubCaption" class="sub-caption">
  {{appSubCaption}}
</label>
