diff --git a/bridge.js b/bridge.js new file mode 100644 index 0000000..10b6d35 --- /dev/null +++ b/bridge.js @@ -0,0 +1,28 @@ +//Script um die Brücke zwischen Master-Spieler Ansicht zu handeln. + +const ALLOWED_ORIGINS = new Set([ + "http://localhost:8000", + "http://127.0.0.1:8000" +]); + +window.addEventListener("message", (event) => { + if (ALLOWED_ORIGINS.size && !ALLOWED_ORIGINS.has(event.origin)) return; + + if (event.data === "getView") { + const c = map.getCenter(); + event.source?.postMessage({ + type: "viewData", + center: { lat: c.lat, lng: c.lng }, + zoom: map.getZoom() + }, event.origin); + return; + } + + if (event.data && event.data.type === "setView") { + const center = event.data.center; + const zoom = event.data.zoom; + if (Array.isArray(center) && typeof zoom === "number") { + map.setView(center, zoom, { animate: false }); + } + } +}); diff --git a/index.html b/index.html index dd683d5..dfbd12e 100644 --- a/index.html +++ b/index.html @@ -181,6 +181,7 @@ if (hash.length >= 2) { +