Renderer backend for tilelive.js that
uses node-mapnik to render tiles and
grids from a Mapnik XML file. tilelive-mapnik implements the
Tilesource API.
npm install tilelive-mapnik
Though tilelive is not a dependency of tilelive-mapnik you will want to
install it to actually make use of tilelive-mapnik through a reasonable
API.
vartilelive=require('tilelive');require('tilelive-mapnik').registerProtocols(tilelive);tilelive.load('mapnik:///path/to/file.xml',function(err,source){if(err)throwerr;// Interface is in XYZ/Google coordinates.// Use `y = (1 << z) - 1 - y` to flip TMS coordinates.source.getTile(0,0,0,function(err,tile,headers){// `err` is an error object when generation failed, otherwise null.// `tile` contains the compressed image file as a Buffer// `headers` is a hash with HTTP headers for the image.});// The `.getGrid` is implemented accordingly.});Note that grid generation will only work when there's metadata inside a
<Parameters> object in the Mapnik XML.
The key fields are interactivity_layer and interactivity_fields. See an
example in the tests. These Parameters are normally added by the application that creates the XML,
in this case CartoCSS