Add mbtiles_data: "metaprotocol"
This commit is contained in:
parent
f21ee2691b
commit
3cf8ce9903
3 changed files with 18 additions and 8 deletions
|
@ -12,7 +12,7 @@ var utils = require('./utils');
|
|||
module.exports = function(options, repo, params, id) {
|
||||
var app = express().disable('x-powered-by');
|
||||
|
||||
var mbtilesFile = path.join(options.paths.mbtiles, params.mbtiles);
|
||||
var mbtilesFile = path.resolve(options.paths.mbtiles, params.mbtiles);
|
||||
var tileJSON = {
|
||||
'tiles': params.domains || options.domains
|
||||
};
|
||||
|
|
|
@ -35,7 +35,7 @@ mbgl.on('message', function(e) {
|
|||
}
|
||||
});
|
||||
|
||||
module.exports = function(options, repo, params, id) {
|
||||
module.exports = function(options, repo, params, id, dataResolver) {
|
||||
var app = express().disable('x-powered-by');
|
||||
|
||||
var lastModified = new Date().toUTCString();
|
||||
|
@ -167,13 +167,21 @@ module.exports = function(options, repo, params, id) {
|
|||
Object.keys(styleJSON.sources).forEach(function(name) {
|
||||
var source = styleJSON.sources[name];
|
||||
var url = source.url;
|
||||
if (url.lastIndexOf('mbtiles:', 0) === 0) {
|
||||
|
||||
if (url.lastIndexOf('mbtiles', 0) === 0) {
|
||||
// found mbtiles source, replace with info from local file
|
||||
delete source.url;
|
||||
|
||||
var fromData = url.lastIndexOf('mbtiles_data:', 0) === 0;
|
||||
var mbtilesFile = url.substring(
|
||||
(fromData ? 'mbtiles_data://' : 'mbtiles://').length);
|
||||
if (fromData) {
|
||||
mbtilesFile = dataResolver(mbtilesFile);
|
||||
}
|
||||
console.log(mbtilesFile);
|
||||
|
||||
queue.push(function(callback) {
|
||||
var mbtilesFile = url.substring('mbtiles://'.length);
|
||||
mbtilesFile = path.join(options.paths.mbtiles, mbtilesFile);
|
||||
mbtilesFile = path.resolve(options.paths.mbtiles, mbtilesFile);
|
||||
var mbtilesFileStats = fs.statSync(mbtilesFile);
|
||||
if (!mbtilesFileStats.isFile() || mbtilesFileStats.size == 0) {
|
||||
throw Error('Not valid MBTiles file: ' + mbtilesFile);
|
||||
|
|
|
@ -16,9 +16,11 @@ module.exports = function(options, repo, params, id, reportTiles, reportFont) {
|
|||
Object.keys(styleJSON.sources).forEach(function(name) {
|
||||
var source = styleJSON.sources[name];
|
||||
var url = source.url;
|
||||
if (url.lastIndexOf('mbtiles:', 0) === 0) {
|
||||
var mbtiles = url.substring('mbtiles://'.length);
|
||||
var identifier = reportTiles(mbtiles);
|
||||
if (url.lastIndexOf('mbtiles', 0) === 0) {
|
||||
var fromData = url.lastIndexOf('mbtiles_data:', 0) === 0;
|
||||
var mbtiles = url.substring(
|
||||
(fromData ? 'mbtiles_data://' : 'mbtiles://').length);
|
||||
var identifier = reportTiles(mbtiles, fromData);
|
||||
source.url = 'local://data/' + identifier + '.json';
|
||||
}
|
||||
});
|
||||
|
|
Loading…
Reference in a new issue