我需要创建API,它将输入带有功能的json文件,输出将是png image(或base64),它将代表OpenLayers 3 map(canvas.toDataUrl()
)的画布。我不需要在浏览器中显示地图甚至打开浏览器。只是API作为一些url / api / getMapImage,它将返回输入json的图像。我想使用NodeJS。我已经有了javascript来执行所有必需的操作(比如定义地图,将画布作为图像)。
这可能吗?
答案 0 :(得分:0)
目前还不是很清楚你想要做什么以及怎么做,没有代码示例和迄今为止你尝试过的信息,所以我只能指出你正确的方向:
有一个node-canvas模块可以让您执行this example:
之类的操作var Canvas = require('canvas')
, Image = Canvas.Image
, canvas = new Canvas(200, 200)
, ctx = canvas.getContext('2d');
ctx.font = '30px Impact';
ctx.rotate(.1);
ctx.fillText("Awesome!", 50, 100);
var te = ctx.measureText('Awesome!');
ctx.strokeStyle = 'rgba(0,0,0,0.5)';
ctx.beginPath();
ctx.lineTo(50, 102);
ctx.lineTo(50 + te.width, 102);
ctx.stroke();
console.log('<img src="' + canvas.toDataURL() + '" />');
您还可以在Node中查看有关网络抓取模块的my recent answer。他们可以访问带有JS的网页,但无需打开浏览器窗口 - 如果您需要其他特定于浏览器的JS运行,它可能会更好地运行。
此外,还有openlayers npm模块对您有用。
如果有这么模糊的问题,很难更具体,但希望你能到达某个地方。