2019-04-04 10:19:29 +02:00
|
|
|
/* jshint undef: false */
|
2019-01-20 19:50:24 +01:00
|
|
|
|
2019-02-01 12:46:38 +01:00
|
|
|
api.getConfig().then(function(cfg){
|
2019-01-20 19:50:24 +01:00
|
|
|
|
2019-02-01 12:46:38 +01:00
|
|
|
var wsChannel = new WebSocketChannel();
|
|
|
|
wsChannel.connect();
|
2019-01-29 21:07:29 +01:00
|
|
|
|
2019-02-01 12:46:38 +01:00
|
|
|
var map = L.map('image-map', {
|
|
|
|
minZoom: 2,
|
|
|
|
maxZoom: 12,
|
2019-02-15 15:51:11 +01:00
|
|
|
center: Hashroute.getCenter(),
|
|
|
|
zoom: Hashroute.getZoom(),
|
2019-02-01 13:20:50 +01:00
|
|
|
crs: SimpleCRS
|
2019-02-01 12:46:38 +01:00
|
|
|
});
|
2019-01-29 18:00:00 +01:00
|
|
|
|
2019-02-02 17:28:35 +01:00
|
|
|
map.attributionControl.addAttribution('<a href="https://github.com/thomasrudin-mt/mapserver">Minetest Mapserver</a>');
|
2019-01-29 18:08:54 +01:00
|
|
|
|
2019-02-01 12:46:38 +01:00
|
|
|
var layers = {};
|
2019-04-04 10:19:29 +02:00
|
|
|
var overlays = {};
|
2019-01-20 19:50:24 +01:00
|
|
|
|
2019-02-01 13:20:50 +01:00
|
|
|
var layerMgr = new LayerManager(cfg.layers, map);
|
2019-02-15 15:51:11 +01:00
|
|
|
layerMgr.setLayerId( Hashroute.getLayerId() );
|
2019-02-01 13:20:50 +01:00
|
|
|
|
2019-02-15 12:47:43 +01:00
|
|
|
//All layers
|
|
|
|
cfg.layers.forEach(function(layer){
|
2019-03-13 21:28:14 +01:00
|
|
|
var tileLayer = new RealtimeTileLayer(wsChannel, layer.id, map);
|
2019-02-15 12:47:43 +01:00
|
|
|
layers[layer.name] = tileLayer;
|
|
|
|
});
|
2019-02-14 14:16:32 +01:00
|
|
|
|
2019-03-01 07:29:17 +01:00
|
|
|
//current layer
|
2019-03-13 21:28:14 +01:00
|
|
|
var currentLayer = layerMgr.getCurrentLayer();
|
|
|
|
layers[currentLayer.name].addTo(map);
|
2019-03-01 07:29:17 +01:00
|
|
|
|
2019-02-15 12:47:43 +01:00
|
|
|
//All overlays
|
|
|
|
Overlaysetup(cfg, map, overlays, wsChannel, layerMgr);
|
2019-02-05 21:17:14 +01:00
|
|
|
|
2019-01-20 19:50:24 +01:00
|
|
|
|
2019-02-07 07:56:52 +01:00
|
|
|
new CoordinatesDisplay({ position: 'bottomleft' }).addTo(map);
|
|
|
|
new WorldInfoDisplay(wsChannel, { position: 'bottomright' }).addTo(map);
|
2019-02-04 21:25:30 +01:00
|
|
|
|
2019-04-14 19:17:43 +02:00
|
|
|
if (cfg.enablesearch){
|
|
|
|
new SearchControl(wsChannel, { position: 'topright' }).addTo(map);
|
|
|
|
}
|
|
|
|
|
|
|
|
//layer control
|
|
|
|
L.control.layers(layers, overlays, { position: "topright" }).addTo(map);
|
|
|
|
|
2019-02-15 15:51:11 +01:00
|
|
|
Hashroute.setup(map, layerMgr);
|
|
|
|
|
2019-02-04 21:15:00 +01:00
|
|
|
}).catch(function(e){
|
|
|
|
console.error(e);
|
2019-02-01 12:46:38 +01:00
|
|
|
});
|