fix: make tilesize and option of addtilejson urls

This commit is contained in:
Andrew Calcutt 2024-02-02 09:45:55 -05:00
parent 6e9a71f09f
commit fdc827c0a4

View file

@ -354,14 +354,12 @@ function start(opts) {
res.send(result); res.send(result);
}); });
const addTileJSONs = (arr, req, type) => { const addTileJSONs = (arr, req, type, tileSize) => {
for (const id of Object.keys(serving[type])) { for (const id of Object.keys(serving[type])) {
const info = clone(serving[type][id].tileJSON); const info = clone(serving[type][id].tileJSON);
let path = ''; let path = '';
let tileSize = undefined;
if (type === 'rendered') { if (type === 'rendered') {
path = `styles/${id}`; path = `styles/${id}`;
tileSize = 512;
} else { } else {
path = `${type}/${id}`; path = `${type}/${id}`;
} }
@ -381,14 +379,16 @@ function start(opts) {
return arr; return arr;
}; };
app.get('/rendered.json', (req, res, next) => { app.get('/(:tileSize(256|512)/)?rendered.json', (req, res, next) => {
res.send(addTileJSONs([], req, 'rendered')); const tileSize = parseInt(req.params.tileSize, 10) || 256;
res.send(addTileJSONs([], req, 'rendered', tileSize));
}); });
app.get('/data.json', (req, res, next) => { app.get('/data.json', (req, res, next) => {
res.send(addTileJSONs([], req, 'data')); res.send(addTileJSONs([], req, 'data', undefined));
}); });
app.get('/index.json', (req, res, next) => { app.get('/(:tileSize(256|512)/)?index.json', (req, res, next) => {
res.send(addTileJSONs(addTileJSONs([], req, 'rendered'), req, 'data')); const tileSize = parseInt(req.params.tileSize, 10) || 256;
res.send(addTileJSONs(addTileJSONs([], req, 'rendered', tileSize), req, 'data', undefined));
}); });
// ------------------------------------ // ------------------------------------