diff --git a/next.config.js b/next.config.js
index 41f8c66..c7c6037 100644
--- a/next.config.js
+++ b/next.config.js
@@ -49,9 +49,9 @@ const nextConfig = {
"default-src 'self'",
"script-src 'self' 'unsafe-inline' 'unsafe-eval' blob:",
"style-src 'self' 'unsafe-inline'",
- "img-src 'self' data: blob: https://*.tile.openstreetmap.org https://api.maptiler.com https://server.arcgisonline.com https://wmts.geo.admin.ch https://wmts0.geo.admin.ch https://wmts1.geo.admin.ch https://wmts2.geo.admin.ch https://wmts3.geo.admin.ch https://wmts4.geo.admin.ch http://localhost:9000 http://minio:9000",
+ "img-src 'self' data: blob: https://*.tile.openstreetmap.org https://api.maptiler.com https://server.arcgisonline.com https://*.geo.admin.ch http://localhost:9000 http://minio:9000",
"font-src 'self' data:",
- "connect-src 'self' ws: wss: https://api.maptiler.com https://*.tile.openstreetmap.org https://api.open-meteo.com https://server.arcgisonline.com https://wmts.geo.admin.ch https://wmts0.geo.admin.ch https://wmts1.geo.admin.ch https://wmts2.geo.admin.ch https://wmts3.geo.admin.ch https://wmts4.geo.admin.ch",
+ "connect-src 'self' ws: wss: https://api.maptiler.com https://*.tile.openstreetmap.org https://api.open-meteo.com https://server.arcgisonline.com https://*.geo.admin.ch",
"frame-ancestors 'self'",
"base-uri 'self'",
"form-action 'self'",
diff --git a/package.json b/package.json
index 499c6e7..1c99256 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
{
"name": "lageplan",
- "version": "1.0.5",
+ "version": "1.0.6",
"description": "Feuerwehr Lageplan - Krokier-App für Einsatzdokumentation",
"private": true,
"scripts": {
diff --git a/public/sw.js b/public/sw.js
index 3aab8b4..6324689 100644
--- a/public/sw.js
+++ b/public/sw.js
@@ -87,8 +87,8 @@ self.addEventListener('fetch', (event) => {
// Other API requests: network only
if (pathname.startsWith('/api/')) return
- // Cache map tiles from OpenStreetMap / MapTiler (Cache First — tiles don't change)
- if (url.includes('tile.openstreetmap.org') || url.includes('api.maptiler.com')) {
+ // Cache map tiles from OSM / MapTiler / ArcGIS / Swisstopo (Cache First — tiles don't change)
+ if (url.includes('tile.openstreetmap.org') || url.includes('api.maptiler.com') || url.includes('server.arcgisonline.com') || url.includes('geo.admin.ch')) {
event.respondWith(
caches.open(TILE_CACHE).then((cache) =>
cache.match(event.request).then((cached) => {
diff --git a/src/components/map/map-view.tsx b/src/components/map/map-view.tsx
index d12580b..c1ca262 100644
--- a/src/components/map/map-view.tsx
+++ b/src/components/map/map-view.tsx
@@ -696,7 +696,7 @@ export function MapView({
],
tileSize: 256,
attribution: '© swisstopo',
- maxzoom: 18,
+ maxzoom: 17,
},
'swissimage': {
type: 'raster',
@@ -705,7 +705,7 @@ export function MapView({
],
tileSize: 256,
attribution: '© swisstopo SWISSIMAGE',
- maxzoom: 20,
+ maxzoom: 18,
},
},
layers: [
@@ -2154,39 +2154,34 @@ export function MapView({
>
)}
- {/* Layer toggle: cycle through base maps */}
-
+
+
+
+
+
{/* Zeichnung abschliessen Button (Linie/Polygon/Pfeil) */}
{(drawMode === 'linestring' || drawMode === 'polygon' || drawMode === 'arrow' || drawMode === 'dangerzone') && drawingPointCount >= 2 && (