arenos-map/bridge.js

29 lines
765 B
JavaScript
Raw Normal View History

//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 });
}
}
});