안뇽하세요
저는 지금 네이버 지도 SDK를 이용해서 흡구오디라는 iOS 앱을 개발 중인데요,
네이버 지도 SDK 세계에는 두 가지 지도 객체가 존재한답니다.
바로 NMFMapView 와 NMFNaverMapView
NMFMapView vs NMFNaverMapView 차이
NMFMapView
- 네이버 지도의 순수 지도 객체
- 지도만 표시됨 (UI 컨트롤 없음)
- 카메라 이동, 마커 표시 같은 “지도 그리기” 기능 제공
NMFNaverMapView
- 내부에 NMFMapView를 포함한 컨테이너 뷰
- 기본적으로 네이버 제공 UI 컨트롤 (현재 위치 버튼, 줌 버튼, 로고 등) 같이 제공
- 그래서 self.mapView.mapView 처럼 .mapView 프로퍼티를 통해서 실제 지도(NMFMapView)에 접근해야 함
즉,
- NMFMapView = 지도만
- NMFNaverMapView = 지도 + 기본 UI 패키지
- 그리고 NMFNaverMapView 안에 NMFMapView가 포함되어 있다는 말씀!
그런데 나는 왜 NMFMapView만 썼냐면
NMFNaverMapView를 쓰면 중요한 기능인 cameraUpdate 호출이 안 됨
이런 기타 등등의 문제가 있었음
Value of type 'NMFNaverMapView' has no member 'moveCamera'
moveCamera 쓸라고 하면 이런 오류가 떠버림…
그래서 지금까지는 불편함을 감수하고 그냥 NMFMapView만 써왔음
그치만
앱이 점점 커지고, 나중을 생각할수록
NMFNaverMapView가 제공하는 다양한 기능들을 포기하기엔 너무 손해임!!!
근데 생각해보니까…
NMFNaverMapView 안에 NMFMapView가 포함돼 있더라!!
그럼 답은 간단함
NMFNaverMapView로 지도 객체 만들고,
내부의 NMFMapView를 꺼내서 카메라 이동 등 기능 쓰면 되는 것! (헐퀴 ㅇㅇ)
private let mapView = NMFNaverMapView()
// ... 중략
self.mapView.mapView.moveCamera(cameraUpdate)
그리고…
해봤더니 진짜로 됨

생각보다 간단히 해결했서요
역시 공식 문서를 잘 읽어보도록 합시다!!!
꿀팁인듯요
여러분 제발 제 글을 읽어주세요^^
그럼 안녕~
'iOS > 흡구오디 -> 어딨쥐' 카테고리의 다른 글
| [흡구오디] 지도 위 정보를 띄우는 '바텀 시트' 만들기 (feat. FloatingPanel) (2) | 2025.09.05 |
|---|---|
| [흡구오디] 흡연구역 정보를 띄우기 위한 bottomSheet (2) | 2025.08.31 |
| [흡구오디] FireStore의 데이터 가져와서 화면에 띄워주기 (1) | 2025.08.31 |
| [흡구오디] 어디까지 개발했나 알려드림 | UI 라이브러리 | Firestore 연동 (4) | 2025.08.29 |
| [흡구오디] 네이버 지도에서 현재 위치 가져와서 현재 위치를 지도에 띄우기 (4) | 2025.08.11 |
댓글