Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Fetching contributors…

Cannot retrieve contributors at this time

83 lines (48 sloc) 1.682 kb

Node-Mapnik

Bindings to the Mapnik tile rendering library for node.

var mapnik = require('mapnik');
var http = require('http');

var port = 8000;

http.createServer(function (req, res) {
  var map = new mapnik.Map(256,256);
  map.load("./examples/stylesheet.xml");
  map.zoom_all();
  map.render(map.extent(),"png",function(err,buffer){
      if (err) {
        res.writeHead(500, {'Content-Type':'text/plain'});
        res.end(err.message);
      } else {
        res.writeHead(200, {'Content-Type':'image/png'});
        res.end(buffer);
      }
  });
}).listen(port);

For more see 'examples/'

Development Status

Prototype at this point, API will be frequently changing.

Developed on OS X (10.6)

Tested on Debian Squeeze and Centos 5.4.

Depends

node (development headers)

mapnik (latest trunk >r2397)

Installation

Install node-mapnik:

$ git clone git://github.com/mapnik/node-mapnik.git
$ cd node-mapnik
$ ./configure
$ make
$ sudo make install
$ node test.js

Make sure the node modules is on your path:

export NODE_PATH=/usr/local/lib/node/

For more details see 'docs/install.txt'

Or you can install via npm:

$ npm install mapnik

Quick rendering test

To see if things are working try rendering a world map with the sample data

From the source checkout root do:

$ examples/render.js examples/stylesheet.xml map.png

Examples

See the 'examples/' folder for more usage examples.

License

BSD, see LICENSE.txt

Jump to Line
Something went wrong with that request. Please try again.