diff --git a/public/ar_debug_console.js b/public/ar_debug_console.js
new file mode 100644
index 0000000000000000000000000000000000000000..6d7914a446dd9e7c884a6cc0cddc2c8d115554b5
--- /dev/null
+++ b/public/ar_debug_console.js
@@ -0,0 +1,62 @@
+// Debug-Konsole aktivieren
+const debugConsoleEnabled = true;
+
+if (debugConsoleEnabled) {
+    const debugConsole = document.getElementById('debug-console');
+    const debugToggleBtn = document.getElementById('debug-toggle-btn');
+    debugConsole.style.display = 'block';
+    debugToggleBtn.style.display = 'block';
+
+    // Toggle-Funktion hinzufügen
+    let isDebugVisible = true;
+    debugToggleBtn.addEventListener('click', () => {
+        toggleDebugConsole();
+    });
+
+    // Konsole überschreiben
+    (function() {
+        const oldConsoleLog = console.log;
+        console.log = function(...args) {
+            oldConsoleLog.apply(console, args); // Normale Konsole weiterhin nutzen
+
+            // Logs in das Debug-Element schreiben
+            debugConsole.innerHTML += args.join(' ') + '<br>';
+            debugConsole.scrollTop = debugConsole.scrollHeight; // Automatisch nach unten scrollen
+        };
+
+        const oldConsoleError = console.error;
+        console.error = function(...args) {
+            oldConsoleError.apply(console, args);
+            debugConsole.innerHTML += '<span style="color: red;">' + args.join(' ') + '</span><br>';
+            debugConsole.scrollTop = debugConsole.scrollHeight;
+        };
+
+        // JavaScript-Fehler global abfangen
+        window.onerror = function(message, source, lineno, colno, error) {
+            const errorMsg = `[ERROR] ${message} at ${source}:${lineno}:${colno}`;
+            debugConsole.innerHTML += `<span style="color: red;">${errorMsg}</span><br>`;
+            debugConsole.scrollTop = debugConsole.scrollHeight;
+
+            // Auch in der normalen Konsole anzeigen
+            oldConsoleError(errorMsg);
+        };
+
+        // Unhandled Promise Rejections abfangen
+        window.addEventListener('unhandledrejection', function(event) {
+            const errorMsg = `[PROMISE ERROR] ${event.reason}`;
+            debugConsole.innerHTML += `<span style="color: orange;">${errorMsg}</span><br>`;
+            debugConsole.scrollTop = debugConsole.scrollHeight;
+
+            oldConsoleError(errorMsg);
+        });
+    })();
+
+    function toggleDebugConsole() {
+        isDebugVisible = !isDebugVisible;
+        debugConsole.style.display = isDebugVisible ? 'block' : 'none';
+        debugToggleBtn.innerText = isDebugVisible ? 'Close' : 'Open Console';
+    }
+
+    toggleDebugConsole();
+    console.log("Debug Console enabled");
+}
diff --git a/public/ar_overviewmap.js b/public/ar_overviewmap.js
new file mode 100644
index 0000000000000000000000000000000000000000..2db762ee2505031d8826bd0d714f897ff027b752
--- /dev/null
+++ b/public/ar_overviewmap.js
@@ -0,0 +1,70 @@
+
+
+
+function init_map() {
+    const mapContainer = document.getElementById('map-container');
+    if (mapContainer) {
+        var mymap = L.map(mapContainer);
+        var OpenStreetMap_DE = L.tileLayer('https://{s}.tile.openstreetmap.de/tiles/osmde/{z}/{x}/{y}.png', {
+            maxZoom: 30,
+            minZoom: 15,
+            attribution: '&copy; <a href="https://www.openstreetmap.org/copyright">OpenStreetMap</a> contributors'
+        });
+        // select one basemap from https://leaflet-extras.github.io/leaflet-providers/preview/
+        var CartoDB_Positron = L.tileLayer('https://{s}.basemaps.cartocdn.com/light_all/{z}/{x}/{y}{r}.png', {
+            attribution: '&copy; <a href="https://www.openstreetmap.org/copyright">OpenStreetMap</a> contributors &copy; <a href="https://carto.com/attributions">CARTO</a>',
+            subdomains: 'abcd',
+            maxZoom: 30,
+            minZoom: 15
+        });
+        CartoDB_Positron.addTo(mymap);
+ 
+        // Marker initialisieren
+        var userIcon = L.icon({
+            iconUrl: 'previewImages/map-user.png',  // Dein Männchen-Bild
+            iconSize: [32, 32],               // Die Größe des Icons
+            iconAnchor: [16, 32],             // Der Punkt des Markers, der auf der Position zeigt
+            popupAnchor: [0, -32]             // Die Position des Popups relativ zum Marker
+        });
+
+        // Marker initialisieren
+        var userMarker = L.marker([0, 0], { icon: userIcon }).bindPopup('Ihre Position').addTo(mymap);
+        let initPosition = false;
+        let lastPosition = { lat: 0, lng: 0 }; // Letzte bekannte Position
+        const updateThreshold = 1.5; // Schwellenwert für den Abstand (in Metern)
+        
+        // Funktion, um die Position zu aktualisieren
+        function updatePosition(position) {
+            const userLat = position.coords.latitude;
+            const userLng = position.coords.longitude;
+
+            const currentPosition = L.latLng(userLat, userLng);
+            const lastKnownPosition = L.latLng(lastPosition.lat, lastPosition.lng);
+            const distance = currentPosition.distanceTo(lastKnownPosition);
+
+            // Nur aktualisieren, wenn der Abstand größer als der Schwellenwert ist
+            if (distance > updateThreshold || !initPosition) {
+                if (!initPosition) {
+                    mymap.setView([userLat, userLng], 20); // Zentrische Ansicht beim ersten Mal
+                    initPosition = true;
+                }
+
+                // Marker auf die neue Position setzen
+                userMarker.setLatLng([userLat, userLng]);
+                console.log(`Setze Position auf lat=${userLat} lng=${userLng}, Abstand: ${distance}m`);
+                lastPosition = { lat: userLat, lng: userLng };
+            }
+        }
+
+        // Die Position alle 5 Sekunden aktualisieren
+        if (navigator.geolocation) {
+            navigator.geolocation.getCurrentPosition(updatePosition);
+            navigator.geolocation.watchPosition(updatePosition, function(error) {
+                console.error("Fehler bei der Geolokalisierung:", error);
+            }, {enableHighAccuracy: true, maximumAge: 2000,timeout: 5000});
+        } else {
+            console.error("Geolocation wird nicht unterstützt.");
+        }
+    }
+ }
+ 
\ No newline at end of file
diff --git a/public/index.html b/public/index.html
index b394514704beb9b95268e7ba3261d960278dbacc..bf4b17e6e5ff2f8d7d518492e7ee2b36d94a5d71 100644
--- a/public/index.html
+++ b/public/index.html
@@ -214,11 +214,47 @@
 </head>
 
 <body>
+  <!-- Debug -->
+  <div id="debug-container" style="
+      position: fixed;
+      top: 0;
+      left: 0;
+      width: 100%;
+      z-index: 9999;
+      font-family: monospace;
+      font-size: 12px;
+      display: flex;
+      flex-direction: column;
+      align-items: flex-start;
+  ">
+      <div id="debug-console" style="
+          width: 100%;
+          max-height: 200px;
+          overflow-y: auto;
+          background: rgba(0, 0, 0, 0.7);
+          color: #00ff00;
+          padding: 5px;
+          display: none;
+      "></div>
+      <button id="debug-toggle-btn" style="
+          background: rgba(0, 0, 0, 0.7);
+          color: #00ff00;
+          font-size: 14px;
+          border: none;
+          padding: 5px 10px;
+          cursor: pointer;
+          display: none;
+      "></button>
+  </div>
+
   <!-- Standardmenü -->
   <div id="menu-bar" style="display: none;">
     <div class="menu-item" id="add-section" onclick="showMenu('add-menu')">
       <img src="previewImages/add-icon.png" alt="Hinzufügen" />
     </div>
+    <div class="menu-item" onclick="showMenu('map-window')">
+      <img src="previewImages/map-icon.png" alt="Karte" />
+    </div>
     <div class="menu-item" id="options-section" onclick="showMenu('options-menu')">
       <img src="previewImages/options-icon.png" alt="Optionen" />
     </div>
@@ -285,6 +321,20 @@
     </div>
   </div>
 
+  <div id="map-window" class="menu-placeholder" style="display: none; flex-direction: column; width: 100vw; height: 100vh;">
+    <div id="map-container" style="z-index: 1500; flex: 15; width: 100%; height: 100%;"></div>
+    <div class="menu-item" onclick="showMenu('menu-bar')" style="cursor: pointer; flex: 1; align-items: center; justify-content: center;">
+        <img src="previewImages/back-icon.png" alt="Zurück" style="width: 30px; height: 30px;" />
+    </div>
+  </div>
+
+
+
+  <script src="ar_debug_console.js"></script>
+  <link rel="stylesheet" href="https://unpkg.com/leaflet/dist/leaflet.css" />
+  <script src="https://unpkg.com/leaflet/dist/leaflet.js"></script> <!-- Leaflet einbinden -->
+  <script src="ar_overviewmap.js"></script>
+
   <!-- Audio-Element für Button-Klick -->
   <audio id="button-sound" src="sounds/button-sound.mp3" preload="auto"></audio>
 
@@ -317,7 +367,7 @@
       }
     };
 
-    const menus = ['menu-bar', 'add-menu', 'edit-menu', 'options-menu'];
+    const menus = ['menu-bar', 'add-menu', 'edit-menu', 'options-menu', 'map-window'];
 
     window.onload = () => {
       initializeAddMenu();
@@ -353,6 +403,7 @@
       });
       closeDynamicMenu();
       if (menuId === 'menu-bar') clearSelectedModel();
+      else if (menuId === 'map-window') init_map();
     }
 
     function clearSelectedModel() {
@@ -563,6 +614,15 @@
       infoDialog.style.display = "none";
     }
 
+    function refreshMapDialog() {
+      const mapDialog = document.getElementById('map-dialog');
+      mapDialog.style.display = 'flex';
+    }
+
+    function closeMapDialog() {
+      const mapDialog = document.getElementById('map-dialog');
+      mapDialog.style.display = 'none';
+    }
 
     async function activateXR() {
       const canvas = document.createElement('canvas');
diff --git a/public/previewImages/map-icon.png b/public/previewImages/map-icon.png
new file mode 100644
index 0000000000000000000000000000000000000000..19888390d674e7adf4a58786abc81e8fe4fa9560
Binary files /dev/null and b/public/previewImages/map-icon.png differ
diff --git a/public/previewImages/map-user.png b/public/previewImages/map-user.png
new file mode 100644
index 0000000000000000000000000000000000000000..d126c3ccc2b28dd0c53ec4abfc570aaf3f1f7055
Binary files /dev/null and b/public/previewImages/map-user.png differ