Files
nodeMap/docs/components/mainComponent/hooks/useInitializeMap.md
2025-05-28 10:17:25 +02:00

1.7 KiB

🪄 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:

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

📁 Quelle

Wrappt initializeMap() aus /utils/initializeMap.js