Update für MapViewer. Bridge für Master-Viewer Datenabgleich.
This commit is contained in:
parent
dba21a0020
commit
d7bbdc07eb
28
bridge.js
Normal file
28
bridge.js
Normal file
|
|
@ -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 });
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
@ -181,6 +181,7 @@ if (hash.length >= 2) {
|
||||||
</script>
|
</script>
|
||||||
<script src="https://cdn.jsdelivr.net/npm/axios/dist/axios.min.js"></script>
|
<script src="https://cdn.jsdelivr.net/npm/axios/dist/axios.min.js"></script>
|
||||||
<script src="markers.js"></script>
|
<script src="markers.js"></script>
|
||||||
|
<script src="bridge.js"></script>
|
||||||
|
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue
Block a user