mirror of
https://github.com/neocturne/MinedMap.git
synced 2025-03-04 17:23:33 +01:00
viewer: store URL paramters in a 'params' variable
This commit is contained in:
parent
76df56c9ce
commit
7b3ac8647e
1 changed files with 27 additions and 27 deletions
|
@ -36,6 +36,7 @@ const signKinds = {
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const params = {};
|
||||||
const signIcons = {};
|
const signIcons = {};
|
||||||
|
|
||||||
function signIcon(material, kind) {
|
function signIcon(material, kind) {
|
||||||
|
@ -323,30 +324,28 @@ window.createMap = function () {
|
||||||
mipmaps = res.mipmaps,
|
mipmaps = res.mipmaps,
|
||||||
spawn = res.spawn;
|
spawn = res.spawn;
|
||||||
|
|
||||||
let x, z, zoom, light, signs;
|
|
||||||
|
|
||||||
const updateParams = function () {
|
const updateParams = function () {
|
||||||
const args = parseHash();
|
const args = parseHash();
|
||||||
|
|
||||||
zoom = parseInt(args['zoom']);
|
params.zoom = parseInt(args['zoom']);
|
||||||
x = parseFloat(args['x']);
|
params.x = parseFloat(args['x']);
|
||||||
z = parseFloat(args['z']);
|
params.z = parseFloat(args['z']);
|
||||||
light = parseInt(args['light']);
|
params.light = parseInt(args['light']);
|
||||||
signs = parseInt(args['signs'] ?? '1');
|
params.signs = parseInt(args['signs'] ?? '1');
|
||||||
|
|
||||||
if (isNaN(zoom))
|
if (isNaN(params.zoom))
|
||||||
zoom = 0;
|
params.zoom = 0;
|
||||||
if (isNaN(x))
|
if (isNaN(params.x))
|
||||||
x = spawn.x;
|
params.x = spawn.x;
|
||||||
if (isNaN(z))
|
if (isNaN(params.z))
|
||||||
z = spawn.z;
|
params.z = spawn.z;
|
||||||
};
|
};
|
||||||
|
|
||||||
updateParams();
|
updateParams();
|
||||||
|
|
||||||
const map = L.map('map', {
|
const map = L.map('map', {
|
||||||
center: [-z, x],
|
center: [-params.z, params.x],
|
||||||
zoom: zoom,
|
zoom: params.zoom,
|
||||||
minZoom: -(mipmaps.length-1),
|
minZoom: -(mipmaps.length-1),
|
||||||
maxZoom: 5,
|
maxZoom: 5,
|
||||||
crs: L.CRS.Simple,
|
crs: L.CRS.Simple,
|
||||||
|
@ -364,9 +363,9 @@ window.createMap = function () {
|
||||||
|
|
||||||
mapLayer.addTo(map);
|
mapLayer.addTo(map);
|
||||||
|
|
||||||
if (light)
|
if (params.light)
|
||||||
map.addLayer(lightLayer);
|
map.addLayer(lightLayer);
|
||||||
if (signs)
|
if (params.signs)
|
||||||
map.addLayer(signLayer);
|
map.addLayer(signLayer);
|
||||||
|
|
||||||
const overlayMaps = {
|
const overlayMaps = {
|
||||||
|
@ -384,10 +383,10 @@ window.createMap = function () {
|
||||||
});
|
});
|
||||||
|
|
||||||
const makeHash = function () {
|
const makeHash = function () {
|
||||||
let ret = '#x='+x+'&z='+z;
|
let ret = '#x='+params.x+'&z='+params.z;
|
||||||
|
|
||||||
if (zoom != 0)
|
if (params.zoom != 0)
|
||||||
ret += '&zoom='+zoom;
|
ret += '&zoom='+params.zoom;
|
||||||
|
|
||||||
if (map.hasLayer(lightLayer))
|
if (map.hasLayer(lightLayer))
|
||||||
ret += '&light=1';
|
ret += '&light=1';
|
||||||
|
@ -407,10 +406,11 @@ window.createMap = function () {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
zoom = map.getZoom();
|
const center = map.getCenter();
|
||||||
center = map.getCenter();
|
|
||||||
x = Math.round(center.lng);
|
params.zoom = map.getZoom();
|
||||||
z = Math.round(-center.lat);
|
params.x = Math.round(center.lng);
|
||||||
|
params.z = Math.round(-center.lat);
|
||||||
|
|
||||||
updateHash();
|
updateHash();
|
||||||
}
|
}
|
||||||
|
@ -428,13 +428,13 @@ window.createMap = function () {
|
||||||
|
|
||||||
updateParams();
|
updateParams();
|
||||||
|
|
||||||
map.setView([-z, x], zoom);
|
map.setView([-params.z, params.x], params.zoom);
|
||||||
|
|
||||||
if (light)
|
if (params.light)
|
||||||
map.addLayer(lightLayer);
|
map.addLayer(lightLayer);
|
||||||
else
|
else
|
||||||
map.removeLayer(lightLayer);
|
map.removeLayer(lightLayer);
|
||||||
if (signs)
|
if (params.signs)
|
||||||
map.addLayer(signLayer);
|
map.addLayer(signLayer);
|
||||||
else
|
else
|
||||||
map.removeLayer(signLayer);
|
map.removeLayer(signLayer);
|
||||||
|
|
Loading…
Add table
Reference in a new issue