<!-- /docs/components/mainComponent/hooks/useInitializeMap.md -->

# 🪄 useInitializeMap.js

Custom React-Hook zur Initialisierung der Leaflet-Karte.  
Ermöglicht die einfache Übergabe aller nötigen Parameter und abstrahiert die `initializeMap(...)`-Logik.

---

## 📦 Zweck

- Führt `initializeMap(...)` nur **einmal** aus, wenn `mapRef` existiert und `map === null`
- Kapselt die Initialisierung in ein `useEffect`

---

## 🔧 Parameter

| Name                     | Typ        | Beschreibung                                      |
|--------------------------|------------|---------------------------------------------------|
| `map`                   | `LeafletMap` (Zustand) | Wird initialisiert, wenn `null`            |
| `mapRef`                | `ref`      | Referenz auf `<div id="map">`                    |
| `setMap`                | `function` | Callback zum Setzen der Karteninstanz            |
| `setOms`                | `function` | Callback für OverlappingMarkerSpiderfier         |
| `setMenuItemAdded`      | `function` | Wird genutzt, um mehrfaches Menü-Setup zu verhindern |
| `addItemsToMapContextMenu` | `function` | Logik zum Hinzufügen von Kontextmenüeinträgen |
| `hasRights`             | `boolean`  | Steuerung, ob POI-Menüs angezeigt werden dürfen   |
| `setPolylineEventsDisabled` | `function` | Aktiviert/Deaktiviert Polyline-Events global   |

---

## 🌐 Verwendung

In `MapComponent.js`:

```js
useInitializeMap(
  map,
  mapRef,
  setMap,
  setOms,
  setMenuItemAdded,
  addItemsToMapContextMenu,
  hasRights,
  (value) => dispatch(setDisabled(value))
);
```

---

## 📁 Quelle

Wrappt `initializeMap()` aus `/utils/initializeMap.js`
