iOS) 네이버 지도 API NMFMapView와 NMFNaverMapView

네이버 지도를 화면에 추가하는 방법은 크게 2가지 나뉨.

1. NMFMapView를 이용

2. NMFNaverMapView를 이용

 

NMFMapView와 NMFNaverMapView의 차이 및  기능 사용

공식 문서에 나와 있듯이 NMFMapView는 지도만 제공하는 객체이고, NMFNaverMapView는 지도와 지도와 관련된 UI 및 기능를 제공한다. 즉 NMFNaverMapView가 NMFMapView를 가지고 있다는 것.

따라어 NMFNaverMapView에서 카메라 이동, 줌 레벨 같은 지도 자체를 다루는 기능을 사용하려면, NMFNaverMapView에 있는 NMFMapView에 접근하여 사용해야 한다.

lazy var mapView: NMFNaverMapView = {
       let mapView = NMFNaverMapView()
        mapView.translatesAutoresizingMaskIntoConstraints = false
        //내부 mapView(NMFMapView)에 접근하여 줌레벨 설정
        mapView.mapView.zoomLevel = 16
        mapView.showLocationButton = true
        mapView.showZoomControls = false
        
        return mapView
    }()

이거 때문에 NMFNaverMapView 자체에서 줌레벨이나 카메라포지션 이동 및 설정이 안되서 몇시간 넘게 고민했다. 그런데 공식문서를 다시 읽어보니 각 기능을 분리했다는걸 깨달음.. 공식문서를 잘 읽자..