aboutsummaryrefslogtreecommitdiffstats
path: root/src/components/LocationsMap.svelte
diff options
context:
space:
mode:
authorsecondl1ght <[email protected]>2022-08-21 23:21:05 -0400
committersecondl1ght <[email protected]>2022-08-21 23:21:05 -0400
commita96c96ffbcea9f3c7b2af1d20354760b363c865a (patch)
tree66044fb4a4933b72338bd888ff103829a89775a6 /src/components/LocationsMap.svelte
parent48c99c6a701a210889c7e8d3021825de0abbff8c (diff)
downloadcoinos-ui-a96c96ffbcea9f3c7b2af1d20354760b363c865a.tar.gz
coinos-ui-a96c96ffbcea9f3c7b2af1d20354760b363c865a.zip
add leaflet back in and add locations section to landing page
Diffstat (limited to 'src/components/LocationsMap.svelte')
-rw-r--r--src/components/LocationsMap.svelte52
1 files changed, 52 insertions, 0 deletions
diff --git a/src/components/LocationsMap.svelte b/src/components/LocationsMap.svelte
new file mode 100644
index 00000000..42469563
--- /dev/null
+++ b/src/components/LocationsMap.svelte
@@ -0,0 +1,52 @@
+<script>
+ import { onMount, onDestroy } from 'svelte';
+ import { browser } from '$app/env';
+
+ let mapElement;
+ let map;
+
+ onMount(async () => {
+ if (browser) {
+ const leaflet = await import('leaflet');
+
+ // this sets the inital view of the map on page load
+ map = leaflet.map(mapElement).setView([49.267265, -123.1491965], 13);
+
+ leaflet
+ .tileLayer('https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png', {
+ maxZoom: 19,
+ attribution: '&copy; <a href="https://www.openstreetmap.org/copyright">OpenStreetMap</a>'
+ })
+ .addTo(map);
+
+ // business locations
+ leaflet
+ .marker([49.27034, -123.141373])
+ .addTo(map)
+ .bindPopup(
+ 'Rolf Vancouver <br> 1628 W 1st Ave #231, Vancouver <br> <a href="https://www.rolfbodywork.com" target="_blank" rel="noreferrer">www.rolfbodywork.com</a>'
+ );
+
+ leaflet
+ .marker([49.26419, -123.15702])
+ .addTo(map)
+ .bindPopup('Tacos Jorge <br> 2287 W Broadway, Vancouver');
+ }
+ });
+
+ onDestroy(async () => {
+ if (map) {
+ console.log('Unloading Leaflet map.');
+ map.remove();
+ }
+ });
+</script>
+
+<div
+ class="mx-auto w-full md:w-11/12 lg:w-3/4 2xl:w-1/2 max-w-7xl h-[450px] z-0"
+ bind:this={mapElement}
+/>
+
+<style>
+ @import 'leaflet/dist/leaflet.css';
+</style>