orchidmap-front/src/modules/Map.ts
Fedor Katurov ce128306cc redeploy
2020-01-14 11:30:52 +07:00

36 lines
859 B
TypeScript

import {
Map as MapInterface,
map,
tileLayer,
TileLayer,
} from 'leaflet';
import 'leaflet/dist/leaflet.css';
import { PROVIDER } from '$config/frontend'; //
import { DEFAULT_PROVIDER, PROVIDERS } from '$constants/providers';
interface Props {
container: string
}
export class Map {
constructor({ container }: Props) {
this.map = map(container).setView([55.0153275, 82.9071235], 13);
// todo: change coords?
this.tileLayer.addTo(this.map);
}
map: MapInterface;
tileLayer: TileLayer = tileLayer(PROVIDER.url, {
attribution: 'Независимое Велосообщество',
maxNativeZoom: 18,
maxZoom: 18,
});
setProvider = (provider: string): void => {
const { url } = (provider && PROVIDERS[provider] && PROVIDERS[provider]) || PROVIDERS[DEFAULT_PROVIDER];
this.tileLayer.setUrl(url);
}
}