59 lines
1.9 KiB
Markdown
59 lines
1.9 KiB
Markdown
<!-- /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`
|
|
|
|
---
|
|
|
|
[Zurück zur Übersicht](../../../README.md)
|