36 lines
1.0 KiB
JavaScript
36 lines
1.0 KiB
JavaScript
// Global Leaflet and ATON
|
|
|
|
import {config} from '../config.js';
|
|
import Scene from './scene.js';
|
|
|
|
const Map = {};
|
|
|
|
Map.init = function(mapContainerId) {
|
|
let baseMap = new L.tileLayer('https://tile.openstreetmap.org/{z}/{x}/{y}.png', {
|
|
maxNativeZoom : config.map.maxZoom,
|
|
maxZoom: config.map.maxZoom,
|
|
attribution: '© <a href="https://www.openstreetmap.org/copyright">OpenStreetMap</a> contributors'
|
|
});
|
|
|
|
// Mappa centrata su Roma...
|
|
let map = L.map(mapContainerId, {
|
|
//attributionControl: false,
|
|
minZoom: config.map.minZoom
|
|
}).setView(config.map.center, config.map.initialZoom);
|
|
|
|
baseMap.addTo(map);
|
|
|
|
config.markers.forEach(marker => {
|
|
L.marker(marker.coords).addTo(map)
|
|
.bindPopup(marker.popup)
|
|
.openPopup();
|
|
|
|
let btn = document.querySelector(`#${marker.id}`);
|
|
btn.addEventListener('click', () => {
|
|
Scene.openScene(marker);
|
|
map.getContainer().classList.toggle('d-none');
|
|
});
|
|
});
|
|
}
|
|
|
|
export default Map; |