Nodejsを使用してサーバー側でマップを生成し、そのマップのイメージを作成する必要があります。私はleaflet-headlessを使って地図を作成し、画像を生成しています。リーフレットを変更することはできませんリーフレット - ヘッドレスを使用する場合のビューパラメータ
これはコードである:
const L = require('leaflet-headless');
const document = global.document;
let createMap = (lanLat) => {
const element = document.createElement('div');
element.id = 'map-leaflet-image';
document.body.appendChild(element);
const filename = path.join(__dirname, '/leaflet-image.png');
const map = L.map(element.id).setView([0, 0], 3);
L.tileLayer('http://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png', {
attribution: '© <a href="http://osm.org/copyright">OpenStreetMap</a> contributors'
}).addTo(map);
map.saveImage(filename,() => {
console.log('done');
})
};
これが動作し、画像が保存されているが、私は(ズームアウト)setView([0,0], 1)
にsetView()
パラメータを変更すると、私はエラーメッセージが表示されます任意
return prev.apply(ctx, arguments);
Error: Image given has not completed loading
at Error (native) at CanvasRenderingContext2D.ctx.(anonymous function) [as drawImage]
を思考?