fix map loaded twice

This commit is contained in:
vcoppe
2024-07-18 16:32:36 +02:00
parent 25ea9607f2
commit 06e6d7e81e
3 changed files with 22 additions and 18 deletions

View File

@@ -148,16 +148,15 @@
</script> </script>
<div {...$$restProps}> <div {...$$restProps}>
{#if webgl2Supported} <div id="map" class="h-full {webgl2Supported ? '' : 'hidden'}"></div>
<div id="map" class="h-full"></div> <div
{:else} class="flex flex-col items-center justify-center gap-3 h-full {webgl2Supported ? 'hidden' : ''}"
<div class="flex flex-col items-center justify-center gap-3 h-full"> >
<p>{$_('webgl2_required')}</p> <p>{$_('webgl2_required')}</p>
<Button href="https://get.webgl.org/webgl2/" target="_blank"> <Button href="https://get.webgl.org/webgl2/" target="_blank">
{$_('enable_webgl2')} {$_('enable_webgl2')}
</Button> </Button>
</div> </div>
{/if}
</div> </div>
<style lang="postcss"> <style lang="postcss">

View File

@@ -4,13 +4,16 @@
export let position: 'top-left' | 'top-right' | 'bottom-left' | 'bottom-right' = 'top-right'; export let position: 'top-left' | 'top-right' | 'bottom-left' | 'bottom-right' = 'top-right';
let container: HTMLDivElement | null = null; let container: HTMLDivElement;
let control: CustomControl | undefined = undefined;
$: if ($map && container) { $: if ($map && container) {
if (position.includes('right')) container.classList.add('float-right'); if (position.includes('right')) container.classList.add('float-right');
else container.classList.add('float-left'); else container.classList.add('float-left');
container.classList.remove('hidden'); container.classList.remove('hidden');
let control = new CustomControl(container); if (control === undefined) {
control = new CustomControl(container);
}
$map.addControl(control, position); $map.addControl(control, position);
} }
</script> </script>

View File

@@ -13,19 +13,21 @@
} }
const appRoutes = ['/[...language]/app', '/[...language]/embed']; const appRoutes = ['/[...language]/app', '/[...language]/embed'];
$: showNavAndFooter = $page.route.id === null || !appRoutes.includes($page.route.id);
</script> </script>
<Head /> <Head />
<ModeWatcher /> <ModeWatcher />
{#if !$isLoading} {#if !$isLoading}
{#if $page.route.id !== null && appRoutes.includes($page.route.id)} {#if showNavAndFooter}
<slot />
{:else}
<Nav /> <Nav />
{/if}
<main> <main>
<slot /> <slot />
</main> </main>
{#if showNavAndFooter}
<Footer /> <Footer />
{/if} {/if}
{/if} {/if}