import { TomTomConfig } from '@tomtom-org/maps-sdk/core';
import {
HillshadeModule,
StandardStyleID,
standardStyleIDs,
TomTomMap,
TrafficFlowModule,
TrafficIncidentsModule,
} from '@tomtom-org/maps-sdk/map';
import './style.css';
import { API_KEY } from './config';
TomTomConfig.instance.put({ apiKey: API_KEY, language: 'en-US' });
(async () => {
const map = new TomTomMap({
mapLibre: {
container: 'sdk-map',
zoom: 13,
minZoom: 2,
center: [2.1493, 41.4001],
},
style: { type: 'standard', include: [] },
});
document
.querySelector('#sdk-example-addIncidents')
?.addEventListener('click', () => TrafficIncidentsModule.get(map, { visible: true }));
document
.querySelector('#sdk-example-addFlow')
?.addEventListener('click', () => TrafficFlowModule.get(map, { visible: true }));
document
.querySelector('#sdk-example-addHillshade')
?.addEventListener('click', () => HillshadeModule.get(map, { visible: true }));
const stylesSelector = document.querySelector('#sdk-example-mapStyles') as HTMLSelectElement;
standardStyleIDs.forEach((id) => stylesSelector.add(new Option(id)));
stylesSelector.addEventListener('change', (event) =>
map.setStyle((event.target as HTMLOptionElement).value as StandardStyleID),
);
})();