diff --git a/src/components/features/NaverMap/index.tsx b/src/components/features/NaverMap/index.tsx index 65d2d4b..ea99670 100644 --- a/src/components/features/NaverMap/index.tsx +++ b/src/components/features/NaverMap/index.tsx @@ -58,13 +58,13 @@ export const NaverMap = memo( }, [initialZoom, handleZoomChange, initialCenter.lat, initialCenter.lng]); useEffect(() => { + clearMarkers(); if (mapInstance.current && markers.length > 0) { - addMarkerToMap(mapInstance, markers, markersRef, markerDataRef, clearMarkers); + addMarkerToMap(mapInstance, markers, markersRef, markerDataRef); } - if (mapInstance.current && isCurrent) { + if (mapInstance.current && isCurrent && markers.length === 0) { currentMarkerToMap(initialCenter, mapInstance.current, currentLocationMarkerRef); } - return () => clearMarkers(); }, [clearMarkers, initialCenter, isCurrent, markers]); return
; diff --git a/src/utils/naver/addMarkerToMap.ts b/src/utils/naver/addMarkerToMap.ts index 1d09720..8658135 100644 --- a/src/utils/naver/addMarkerToMap.ts +++ b/src/utils/naver/addMarkerToMap.ts @@ -8,10 +8,8 @@ export const addMarkerToMap = ( mapInstance: React.MutableRefObject, markers: Place[], markersRef: React.MutableRefObject, - markerDataRef: React.MutableRefObject>, - clearMarkers: () => void + markerDataRef: React.MutableRefObject> ) => { - clearMarkers(); if (mapInstance.current) { const firstMarker = markers[0]; const initialPosition = new window.naver.maps.LatLng(