diff --git a/components/MapComponent.js b/components/MapComponent.js index 1c6a88c89..3ee61613c 100644 --- a/components/MapComponent.js +++ b/components/MapComponent.js @@ -444,43 +444,34 @@ await fetchGisStationsStatusDistrict(mapGisStationsStatusDistrictUrl, setGisStat } } }, [map, zoomTrigger]); + //-------------------------------------------- useEffect(() => { - if (!map) return; + if (map) { + // Sammle alle Marker in einer einzigen Liste + const allMarkers = [ + ...talasMarkers, + ...eciMarkers, + ...gsmModemMarkers, + ...ciscoRouterMarkers, + ...wagoMarkers, + ...siemensMarkers, + ...otdrMarkers, + ...wdmMarkers, + ...gmaMarkers, + ...messstellenMarkers, + ...talasiclMarkers, + ...dauzMarkers, + ...smsfunkmodemMarkers, + ...sonstigeMarkers, + ...ulafMarkers, + ]; - // Entferne alle vorhandenen Marker - if (poiLayerRef.current) { - poiLayerRef.current.clearLayers(); - } else { - poiLayerRef.current = new L.LayerGroup().addTo(map); + // Überprüfe überlappende Marker und füge das "Plus"-Icon hinzu + checkOverlappingMarkers(map, allMarkers, plusRoundIcon); } - //-------------------------------------------- - // Füge Marker zu OMS hinzu - const allMarkers = [ - ...talasMarkers, - ...eciMarkers, - ...gsmModemMarkers, - ...ciscoRouterMarkers, - ...wagoMarkers, - ...siemensMarkers, - ...otdrMarkers, - ...wdmMarkers, - ...gmaMarkers, - ...messstellenMarkers, - ...talasiclMarkers, - ...dauzMarkers, - ...smsfunkmodemMarkers, - ...sonstigeMarkers, - ...ulafMarkers, - ]; + }, [map, talasMarkers, eciMarkers, gsmModemMarkers, ciscoRouterMarkers, wagoMarkers, siemensMarkers, otdrMarkers, wdmMarkers, gmaMarkers, messstellenMarkers, talasiclMarkers, dauzMarkers, smsfunkmodemMarkers, sonstigeMarkers, ulafMarkers]); - allMarkers.forEach((marker) => { - if (!poiLayerRef.current.hasLayer(marker)) { - poiLayerRef.current.addLayer(marker); // Füge Marker zur LayerGroup hinzu - } - oms.addMarker(marker); // Füge Marker zu OMS hinzu - }); - }, [map, talasMarkers, eciMarkers, ciscoRouterMarkers, wagoMarkers, siemensMarkers, otdrMarkers, wdmMarkers, gmaMarkers, messstellenMarkers, talasiclMarkers, dauzMarkers, smsfunkmodemMarkers, sonstigeMarkers, ulafMarkers]); //-------------------------------------------- useEffect(() => { const fetchData = async () => {