From aa25ec9c28110ce32aa6797cf229755a9fde055a Mon Sep 17 00:00:00 2001 From: Adam Soltys Date: Sat, 11 Nov 2023 08:39:29 -0800 Subject: map fullscreen button --- src/components/LocationsMap.svelte | 84 ++++++++++++++++++++++++++++++-------- 1 file changed, 67 insertions(+), 17 deletions(-) (limited to 'src/components') diff --git a/src/components/LocationsMap.svelte b/src/components/LocationsMap.svelte index edd20632..3904fffa 100644 --- a/src/components/LocationsMap.svelte +++ b/src/components/LocationsMap.svelte @@ -8,12 +8,44 @@ export let locations; let map; - let mapContainer; + let mapContainer, mapWrapper; let markers = []; let currentIndex = -1; let timeout; + let full = () => { + if (!document.fullscreenElement) { + if (mapWrapper.requestFullscreen) { + mapWrapper.requestFullscreen(); + } else if (mapWrapper.mozRequestFullScreen) { + /* Firefox */ + mapWrapper.mozRequestFullScreen(); + } else if (mapWrapper.webkitRequestFullscreen) { + /* Chrome, Safari & Opera */ + mapWrapper.webkitRequestFullscreen(); + } else if (mapWrapper.msRequestFullscreen) { + /* IE/Edge */ + mapWrapper.msRequestFullscreen(); + } + + map.resize(); + } else { + if (document.exitFullscreen) { + document.exitFullscreen(); + } else if (document.mozCancelFullScreen) { + /* Firefox */ + document.mozCancelFullScreen(); + } else if (document.webkitExitFullscreen) { + /* Chrome, Safari and Opera */ + document.webkitExitFullscreen(); + } else if (document.msExitFullscreen) { + /* IE/Edge */ + document.msExitFullscreen(); + } + } + }; + function select(m) { stopFlying(); currentIndex = inview.indexOf(m); @@ -188,6 +220,18 @@ map.on('touchstart', stopFlying); map.on('wheel', stopFlying); map.on('dragstart', stopFlying); + + document.addEventListener('fullscreenchange', onFullScreenChange, false); + document.addEventListener('webkitfullscreenchange', onFullScreenChange, false); + document.addEventListener('mozfullscreenchange', onFullScreenChange, false); + document.addEventListener('MSFullscreenChange', onFullScreenChange, false); + + function onFullScreenChange() { + console.log("resizing") + if (map) { + map.resize(); // This will adjust the map size to fit the new container size + } + } }); } }); @@ -200,21 +244,23 @@
-
-
+
+
- - -
+
+ + +
+ +
{#each inview as m}
- - {inview.length}