Skip to content

Conversation

@MuchanKim
Copy link
Collaborator

@MuchanKim MuchanKim commented Nov 13, 2025

📝 Summary

케이스 선택시 불러오는 Entity의 모든 Location을 지도상에 표시하는 작업입니다.

🔨 What

커밋메시지 참고해주십시오!!!!!!!!!!

  1. 마커는 전역 마커와, 케이스 별 마커를 구분하여 관리합니다. 이번 작업에서 케이스 별 마커를 관리하는 CaseLocationMarkerManager를 추가하였습니다.
  2. 케이스 선택시, location을 불러와, type별로 핀을 생성하여 맵에 보여줍니다.

👀 Review Notes

잘 됨.
image

커밋메시지 제목 빼먹음 ㅠㅠ
다음 작업 - 최근 기지국, 누적빈도 구현

What?
- 선택된 케이스의 Location 데이터를 받아 네이버 지도 마커(NMFMarker)로 관리하는 책임을 가지는 클래스입니다.
- 좌표·마커 타입을 계산하고 MarkerImageCache를 통해 SwiftUI 마커 이미지를 재사용하며, 동일 좌표의 셀 데이터를 한 번만 표시하도록 처리합니다.
- updateMarkers(_:, on:): Location 배열을 받아 타입별로 마커 모델을 만들고, 기존 마커들과 비교해 삭제·갱신·생성을 수행
- buildMarkers(from:): 홈/워크/커스텀은 Location마다 바로 마커를 만들고, 셀은 좌표 키로 묶어 한 번만 표시하도록 집계
- createMarker(for:, on:): MarkerImageCache를 사용해 마커 이미지를 얻고, NMFMarker를 생성한 뒤 지도에 올립니다.
What?
- 새로운 클래스를 기존 방법대로 주입하였습니다.
- 마커를 생성하는 클래스라 인프라 마커를 담당하는 클래스와 동일하게 뷰에 직접 주입해주었습니다.
What?
- locations 프로퍼티 추가. MapFeature에서 내려오는 케이스의 Location 배열을 그대로 받아 지도에 반영할 수 있게 했습니다.
- CaseLocationMarkerManager 의존성 주입. 케이스 전용 마커를 이 매니저가 담당하도록 했습니다.
- Coordinator가 locations 배열의 id, locationType, 좌표를 해싱해 lastLocationsHash와 비교하고, 값이 달라졌을 때만 caseLocationMarkerManager.updateMarkers를 호출해서 마커를 갱신합니다
@MuchanKim MuchanKim self-assigned this Nov 13, 2025
@MuchanKim MuchanKim added ✨ Feature 새로운 기능 구현 🥬 Moo 김무찬 바 ~ 보 labels Nov 13, 2025
@mini-min mini-min merged commit c89ec24 into main Nov 14, 2025
@mini-min mini-min deleted the feat/#115 branch November 14, 2025 02:45
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

✨ Feature 새로운 기능 구현 🥬 Moo 김무찬 바 ~ 보

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[✨ Feat] Location Entity에 저장된 정보 시각화하기

3 participants