mojodna/tilelive-tmstyle

Error: Invalid tilesource protocol: vector:

Closed this issue · 2 comments

This is really what i want !!! I use it as show below:

var tilelive = require('tilelive');
var mapnik = require('mapnik');
var zlib = require('zlib');
require('tilelive-tmstyle')(tilelive);
require('tilelive-tmsource')(tilelive);
var vector = require('tilelive-vector');
// require('mbtiles').registerProtocols(tilelive);
require('tilelive-bridge').registerProtocols(tilelive);
tilelive.load('tmstyle:///Users/wandergis/Desktop/osm-bright.tm2', function(err, source) {

  if (err) {
    throw err;
  }
}

but i got an error:

/Users/wandergis/Desktop/mapnik-demo/vt-tmstyle.js:16
    throw err;
    ^

Error: Invalid tilesource protocol: vector:
    at Object.tilelive.load (/Users/wandergis/Desktop/mapnik-demo/node_modules/tilelive/lib/tilelive.js:92:25)
    at /Users/wandergis/Desktop/mapnik-demo/node_modules/tilelive-tmstyle/index.js:70:23
    at /Users/wandergis/Desktop/mapnik-demo/node_modules/tilelive-tmstyle/index.js:210:16
    at null.<anonymous> (/Users/wandergis/Desktop/mapnik-demo/node_modules/tilelive-tmsource/node_modules/tilelive-bridge/index.js:265:16)
    at /Users/wandergis/Desktop/mapnik-demo/node_modules/tilelive-tmsource/node_modules/tilelive-bridge/node_modules/mapnik-pool/node_modules/generic-pool/lib/generic-pool.js:291:11
    at loaded (/Users/wandergis/Desktop/mapnik-demo/node_modules/tilelive-tmsource/node_modules/tilelive-bridge/node_modules/mapnik-pool/index.js:27:28)

how can i resolve it ? thks very much.

tilelive-vector never registers its protocols.

var vector = require('tilelive-vector');

should be

var vector = require('tilelive-vector').registerProtocols(tilelive);

Alternately, use the tilelive-modules loader to automatically register all available tilelive modules:

var tilelive = require("tilelive");
require("tilelive-modules/loader")(tilelive);

It works! Thanks very much !!!