// Map Configuration // You can adjust these values and reload the page to test different zoom behaviors const MapConfig = { // Zoom level configuration // Maps Leaflet zoom levels to database zoom levels and merge factors zoomLevels: [ // Leaflet zoom 0 → Database zoom 0 (4x4 merged) { leafletZoom: -2, dbZoom: 0, mergeFactor: 4, label: "4x4 merged" }, // Leaflet zoom 1 → Database zoom 1 (2x2 merged) { leafletZoom: -0.5, dbZoom: 1, mergeFactor: 2, label: "2x2 merged" }, // Leaflet zoom 2+ → Database zoom 2 (original tiles) { leafletZoom: 1, dbZoom: 2, mergeFactor: 1, label: "original" }, ], // Leaflet map settings minZoom: -2, maxZoom: 2, // Tile size (in pixels) - should match database tile size tileSize: 512, // Debug mode - shows tile boundaries and coordinates debug: true, // Resource icon configuration resourceIconSize: 48, // Icon size in pixels (configurable) // Get zoom configuration for a specific Leaflet zoom level getZoomConfig(leafletZoom) { // Find the appropriate config for this zoom level // Use the highest matching config that's <= current zoom let config = this.zoomLevels[0]; for (const zoomConfig of this.zoomLevels) { if (leafletZoom >= zoomConfig.leafletZoom) { config = zoomConfig; } } return config; } }; // Make it globally available window.MapConfig = MapConfig;