Add server-side map rendering component.

Based on our own fork of leaflet-headless.
This commit is contained in:
D. Berge
2021-05-31 02:12:37 +02:00
parent ccd1852f65
commit 5795c1f87d
3 changed files with 2452 additions and 29 deletions

View File

@@ -0,0 +1,22 @@
const L = require('leaflet-headless');
function leafletMap (cfg) {
const container = document.createElement("div");
container.style.setProperty("background-color", "transparent");
let map = L.map(container);
const bbox = cfg.bbox || L.geoJSON(cfg.layers.map(i => i.features)).getBounds();
map.fitBounds(bbox);
map.setSize(cfg.size?.width || 500, cfg.size?.height || 500);
for (let layer of cfg.layers) {
L.geoJSON(layer.features, layer.options).addTo(map);
}
map.fitBounds(bbox); // again
return map;
}
module.exports = leafletMap;

File diff suppressed because it is too large Load Diff

View File

@@ -14,6 +14,7 @@
"express": "^4.17.1",
"express-jwt": "^6.0.0",
"jsonwebtoken": "^8.5.1",
"leaflet-headless": "gitlab:aaltronav/contrib/leaflet-headless#devel",
"marked": "^2.0.3",
"netmask": "^1.0.6",
"node-fetch": "^2.6.1",