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) {
|
module.exports = function(options, repo, params, id) {
|
||||||
var app = express().disable('x-powered-by');
|
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 = {
|
var tileJSON = {
|
||||||
'tiles': params.domains || options.domains
|
'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 app = express().disable('x-powered-by');
|
||||||
|
|
||||||
var lastModified = new Date().toUTCString();
|
var lastModified = new Date().toUTCString();
|
||||||
|
@ -167,13 +167,21 @@ module.exports = function(options, repo, params, id) {
|
||||||
Object.keys(styleJSON.sources).forEach(function(name) {
|
Object.keys(styleJSON.sources).forEach(function(name) {
|
||||||
var source = styleJSON.sources[name];
|
var source = styleJSON.sources[name];
|
||||||
var url = source.url;
|
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
|
// found mbtiles source, replace with info from local file
|
||||||
delete source.url;
|
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) {
|
queue.push(function(callback) {
|
||||||
var mbtilesFile = url.substring('mbtiles://'.length);
|
mbtilesFile = path.resolve(options.paths.mbtiles, mbtilesFile);
|
||||||
mbtilesFile = path.join(options.paths.mbtiles, mbtilesFile);
|
|
||||||
var mbtilesFileStats = fs.statSync(mbtilesFile);
|
var mbtilesFileStats = fs.statSync(mbtilesFile);
|
||||||
if (!mbtilesFileStats.isFile() || mbtilesFileStats.size == 0) {
|
if (!mbtilesFileStats.isFile() || mbtilesFileStats.size == 0) {
|
||||||
throw Error('Not valid MBTiles file: ' + mbtilesFile);
|
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) {
|
Object.keys(styleJSON.sources).forEach(function(name) {
|
||||||
var source = styleJSON.sources[name];
|
var source = styleJSON.sources[name];
|
||||||
var url = source.url;
|
var url = source.url;
|
||||||
if (url.lastIndexOf('mbtiles:', 0) === 0) {
|
if (url.lastIndexOf('mbtiles', 0) === 0) {
|
||||||
var mbtiles = url.substring('mbtiles://'.length);
|
var fromData = url.lastIndexOf('mbtiles_data:', 0) === 0;
|
||||||
var identifier = reportTiles(mbtiles);
|
var mbtiles = url.substring(
|
||||||
|
(fromData ? 'mbtiles_data://' : 'mbtiles://').length);
|
||||||
|
var identifier = reportTiles(mbtiles, fromData);
|
||||||
source.url = 'local://data/' + identifier + '.json';
|
source.url = 'local://data/' + identifier + '.json';
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
Loading…
Reference in a new issue