diff --git a/src/routes/event-map/+page.server.js b/src/routes/event-map/+page.server.js
new file mode 100644
index 0000000..b999f01
--- /dev/null
+++ b/src/routes/event-map/+page.server.js
@@ -0,0 +1,42 @@
+import { GEOCODER_API_KEY } from '$env/static/private';
+
+export const prerender = false;
+
+/** @type {import('./$types').PageServerLoad} */
+export async function load({ url }) {
+ const location = url.searchParams.get('location');
+
+ if (!GEOCODER_API_KEY || !location) {
+ return {
+ location: null,
+ geocoded: null
+ };
+ }
+
+ try {
+ // Geocode the provided location
+ const geocodeUrl = `https://geocoder.hackclub.com/v1/geocode?address=${encodeURIComponent(location)}&key=${GEOCODER_API_KEY}`;
+ const geocodeResponse = await fetch(geocodeUrl);
+
+ if (geocodeResponse.ok) {
+ const geocodeData = await geocodeResponse.json();
+ return {
+ location,
+ geocoded: {
+ lat: geocodeData.lat,
+ lng: geocodeData.lng,
+ address: location
+ }
+ };
+ } else {
+ console.error(`Failed to geocode ${location}: ${geocodeResponse.status}`);
+ }
+ } catch (error) {
+ console.error(`Failed to geocode ${location}:`, error);
+ }
+
+ return {
+ location,
+ geocoded: null
+ };
+}
diff --git a/src/routes/event-map/+page.svelte b/src/routes/event-map/+page.svelte
new file mode 100644
index 0000000..68e5637
--- /dev/null
+++ b/src/routes/event-map/+page.svelte
@@ -0,0 +1,396 @@
+
+
+
All daydream events are organized by high school students like yourself!
Sign up to organize now!
+ {#if directionsURL} + Daydream {eventName} is taking place at {eventAddress}! + {:else} + Daydream {eventName} is taking place at {eventAddress}! + {/if} +
-