'use strict'; api.getConfig().then(function(cfg){ var wsChannel = new WebSocketChannel(); wsChannel.connect(); var initialZoom = 11; var initialCenter = [0, 0]; var map = L.map('image-map', { minZoom: 2, maxZoom: 12, center: initialCenter, zoom: initialZoom, crs: SimpleCRS }); map.attributionControl.addAttribution('Minetest Mapserver'); var layers = {}; var overlays = {} var layerMgr = new LayerManager(cfg.layers, map); var tileLayer = new RealtimeTileLayer(wsChannel, 0); tileLayer.addTo(map); //TODO: all layers layers["Base"] = tileLayer; overlays["Player"] = new PlayerOverlay(wsChannel, layerMgr); overlays["POI"] = new PoiOverlay(wsChannel, layerMgr); overlays["Travelnet"] = new TravelnetOverlay(wsChannel, layerMgr); overlays["Bones"] = new BonesOverlay(wsChannel, layerMgr); overlays["Digilines LCD"] = new LcdOverlay(wsChannel, layerMgr); //overlays["Protector"] = new ProtectorOverlay(wsChannel, layerMgr); //Default enabled overlays map.addLayer(overlays["Player"]); map.addLayer(overlays["POI"]); L.control.layers(layers, overlays).addTo(map); new CoordinatesDisplay({ position: 'bottomleft' }).addTo(map); new WorldInfoDisplay(wsChannel, { position: 'bottomright' }).addTo(map); }).catch(function(e){ console.error(e); });