From b56d48668c4d89c1454488dfae19a40e4552b6ac Mon Sep 17 00:00:00 2001 From: Ahmedhossamdev Date: Tue, 3 Sep 2024 10:26:10 +0300 Subject: [PATCH 1/3] feat: Add map type toggle button --- src/lib/MapTypeButton/MapTypeButton.svelte | 53 ++++++++++++++++++++++ 1 file changed, 53 insertions(+) create mode 100644 src/lib/MapTypeButton/MapTypeButton.svelte diff --git a/src/lib/MapTypeButton/MapTypeButton.svelte b/src/lib/MapTypeButton/MapTypeButton.svelte new file mode 100644 index 0000000..d1e11d4 --- /dev/null +++ b/src/lib/MapTypeButton/MapTypeButton.svelte @@ -0,0 +1,53 @@ + + + + + From 237f538b76216badc397dd708a64551ff179a6a8 Mon Sep 17 00:00:00 2001 From: Ahmedhossamdev Date: Tue, 3 Sep 2024 10:26:33 +0300 Subject: [PATCH 2/3] feat: Add map type toggle feature --- src/components/map/GoogleMap.svelte | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/src/components/map/GoogleMap.svelte b/src/components/map/GoogleMap.svelte index 1c0cc0d..dfb395a 100644 --- a/src/components/map/GoogleMap.svelte +++ b/src/components/map/GoogleMap.svelte @@ -14,6 +14,7 @@ import LocationButton from '$lib/LocationButton/LocationButton.svelte'; import StopMarker from './StopMarker.svelte'; import RouteMap from './RouteMap.svelte'; + import MapTypeButton from '$lib/MapTypeButton/MapTypeButton.svelte'; export let selectedTrip = null; export let selectedRoute = null; @@ -27,6 +28,7 @@ const dispatch = createEventDispatcher(); let map = null; + let mapTypeId = 'roadmap'; let markers = []; let allStops = []; @@ -185,6 +187,13 @@ }); } + function handleMapTypeChange(event) { + mapTypeId = event.detail; + if (map) { + map.setMapTypeId(mapTypeId); + } + } + onMount(async () => { if (!window.google) { loadGoogleMapsLibrary(apiKey); @@ -218,6 +227,7 @@ {/if} +