Serve any vector/raster mbtiles, use styles only for osm2vt (close #51, #52)

This commit is contained in:
Petr Sloup 2016-09-27 17:26:05 +02:00
parent f201deecdc
commit 09859c10c1

View file

@ -70,10 +70,6 @@ var startWithMBTiles = function(mbtilesFile) {
} }
var instance = new mbtiles(mbtilesFile, function(err) { var instance = new mbtiles(mbtilesFile, function(err) {
instance.getInfo(function(err, info) { instance.getInfo(function(err, info) {
if (info.format != 'pbf') {
console.log('ERROR: MBTiles format is not "pbf".');
process.exit(1);
}
var bounds = info.bounds; var bounds = info.bounds;
var styleDir = path.resolve(__dirname, "../node_modules/tileserver-gl-styles/"); var styleDir = path.resolve(__dirname, "../node_modules/tileserver-gl-styles/");
@ -89,26 +85,35 @@ var startWithMBTiles = function(mbtilesFile) {
} }
}, },
"styles": {}, "styles": {},
"data": { "data": {}
"osm2vectortiles": {
"mbtiles": path.basename(mbtilesFile)
}
}
}; };
var styles = fs.readdirSync(path.resolve(styleDir, 'styles')); if (info.format == 'pbf' &&
for (var i=0; i < styles.length; i++) { info.name.toLowerCase().indexOf('osm2vectortiles') > -1) {
var styleFilename = styles[i]; config['data']['osm2vectortiles'] = {
if (styleFilename.endsWith('.json')) { "mbtiles": path.basename(mbtilesFile)
var styleObject = { };
"style": path.basename(styleFilename),
"tilejson": { var styles = fs.readdirSync(path.resolve(styleDir, 'styles'));
"bounds": bounds for (var i = 0; i < styles.length; i++) {
} var styleFilename = styles[i];
}; if (styleFilename.endsWith('.json')) {
config['styles'][path.basename(styleFilename, '.json')] = var styleObject = {
styleObject; "style": path.basename(styleFilename),
"tilejson": {
"bounds": bounds
}
};
config['styles'][path.basename(styleFilename, '.json')] =
styleObject;
}
} }
} else {
console.log('WARN: MBTiles not in "osm2vectortiles" format. ' +
'Serving raw data only...');
config['data'][info.id || 'mbtiles'] = {
"mbtiles": path.basename(mbtilesFile)
};
} }
if (opts.verbose) { if (opts.verbose) {