diff --git a/assets/js/map.ts b/assets/js/map.ts index a7458bd..c31444e 100644 --- a/assets/js/map.ts +++ b/assets/js/map.ts @@ -61,6 +61,8 @@ let MapAPRSMap = { const centerData = self.el.dataset.center; const zoomData = self.el.dataset.zoom; console.log("Map data attributes - center:", centerData, "zoom:", zoomData); + console.log("Full element dataset:", self.el.dataset); + console.log("Window location:", window.location.href); if (!centerData || !zoomData) throw new Error("Missing map data attributes"); initialCenter = JSON.parse(centerData); @@ -173,11 +175,13 @@ let MapAPRSMap = { delete self.el._leaflet_id; } + console.log("Creating map with center:", [initialCenter.lat, initialCenter.lng], "zoom:", initialZoom); self.map = L.map(self.el, { zoomControl: true, attributionControl: true, closePopupOnClick: true, }).setView([initialCenter.lat, initialCenter.lng], initialZoom); + console.log("Map created and view set"); } catch (error) { console.error("Error initializing map:", error); self.errors!.push( diff --git a/lib/aprsme_web/live/map_live/index.ex b/lib/aprsme_web/live/map_live/index.ex index 2ef907b..7beb19e 100644 --- a/lib/aprsme_web/live/map_live/index.ex +++ b/lib/aprsme_web/live/map_live/index.ex @@ -89,25 +89,31 @@ defmodule AprsmeWeb.MapLive.Index do {url_center, url_zoom} = parse_map_params(params) # Check for IP geolocation in session + Logger.info("MapLive: Checking IP geolocation. Session data: #{inspect(session["ip_geolocation"])}") + Logger.info("MapLive: URL params: #{inspect(params)}") + {map_center, map_zoom} = case session["ip_geolocation"] do %{"lat" => lat, "lng" => lng} when is_number(lat) and is_number(lng) -> # Use IP geolocation if available and no URL params specified if params["lat"] || params["lng"] do # URL params take precedence + Logger.info("MapLive: URL params present, using URL center: #{inspect(url_center)}, zoom: #{url_zoom}") {url_center, url_zoom} else # Use IP geolocation with closer zoom - {%{lat: lat, lng: lng}, 12} + geo_center = %{lat: lat, lng: lng} + Logger.info("MapLive: Using IP geolocation center: #{inspect(geo_center)}, zoom: 11") + {geo_center, 11} end _ -> # No geolocation available, use URL params or defaults + Logger.info("MapLive: No IP geolocation found, using URL/default center: #{inspect(url_center)}, zoom: #{url_zoom}") {url_center, url_zoom} end - Logger.debug("Final map params: center=#{inspect(map_center)}, zoom=#{map_zoom}") - Logger.debug("Raw params: #{inspect(params)}, session geo: #{inspect(session["ip_geolocation"])}") + Logger.info("MapLive: Final map params - center: #{inspect(map_center)}, zoom: #{map_zoom}") socket = assign_defaults(socket, one_hour_ago) @@ -122,6 +128,8 @@ defmodule AprsmeWeb.MapLive.Index do Phoenix.PubSub.subscribe(Aprsme.PubSub, "postgres:aprsme_packets") end + Logger.info("MapLive: Mount completed with assigns - map_center: #{inspect(map_center)}, map_zoom: #{map_zoom}") + {:ok, assign(socket, map_ready: false,