Skip to content

Server Side Rendering

Fu Zhen edited this page Oct 28, 2017 · 4 revisions

maptalks supports SSR(server-side rendering) in node environment (>= 4.x). It is very useful for server-side applications like pdf docs generation, etc.

SSR is not very different from in browser. All you need to do is to initialize a map instance in a canvas-compatible container(e.g. node-canvas) just like below:

const maptalks = require('maptalks');
//with node-canvas 2.0
const { createCanvas, Image } = require('canvas');

//load node adapters, source: https://github.com/maptalks/maptalks.node
require('maptalks.node');
//register node-canvas's Image as a global class
global.Image = Image;

const canvas = createCanvas(400, 300);
const map = new maptalks.Map(canvas, {
  center : [0, 0],
  zoom : 3,
  baseLayer : new maptalks.TileLayer('base', {
    'urlTemplate' : 'http:https://{s}.basemaps.cartocdn.com/light_all/{z}/{x}/{y}.png',
    'subdomains'  : ['a','b','c','d','e'],
  })
});

Requirements of Layers for server-side-rendering

You can refer to the example project (upcoming) for details.