This commit is contained in:
Graham McIntire 2025-07-10 17:49:38 -05:00
parent 0785ef954b
commit 13ac1731fd
No known key found for this signature in database
2 changed files with 15 additions and 3 deletions

View file

@ -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(

View file

@ -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,