diff --git a/src/components/OpenLayersMap.tsx b/src/components/OpenLayersMap.tsx
index e61efc4..32b482b 100644
--- a/src/components/OpenLayersMap.tsx
+++ b/src/components/OpenLayersMap.tsx
@@ -51,6 +51,7 @@ import { ToggleSwitch } from './ToggleSwitch';
import { CenterMapFeature } from './CenterMapFeature';
import { AperturesLayer } from './layers/AperturesLayer';
import { LoadingOverlay } from './LoadingOverlay';
+import { useTileLoading } from '../hooks/useTileLoading';
export type MapProps = {
mapGroups: MapGroupResponse[];
@@ -110,6 +111,8 @@ export function OpenLayersMap({
const [isNewBoxDrawn, setIsNewBoxDrawn] = useState(false);
const [isMapInitialized, setIsMapInitialized] = useState(false);
+ const isLoadingTiles = useTileLoading(mapRef);
+
const { activeBaselayer, internalBaselayers } = baselayersState;
const tileLayers = useMemo(() => {
@@ -484,7 +487,7 @@ export function OpenLayersMap({
externalSearchMarkerRef={externalSearchMarkerRef}
isMapInitialized={isMapInitialized}
/>
-
+
);
}
diff --git a/src/hooks/useTileLoading.ts b/src/hooks/useTileLoading.ts
new file mode 100644
index 0000000..bacae55
--- /dev/null
+++ b/src/hooks/useTileLoading.ts
@@ -0,0 +1,69 @@
+import { useEffect, useState } from 'react';
+import { Map } from 'ol';
+import TileLayer from 'ol/layer/Tile';
+import XYZ from 'ol/source/XYZ';
+
+export function useTileLoading(mapRef: React.RefObject