
하나의 지도는 뷰 요소와 인터페이스 요소로 구성됩니다. 뷰 요소는 화면에 지도를 나타내는 역할을 하며, MapFragment와 MapView가 여기에 해당합니다.
지도를 다루는 인터페이스 역할을 하는 인터페이스 요소는 NaverMap 클래스가 담당하며, 오버레이를 추가하고 상호작용하는 등 지도와 관련된 기능 대부분을 이 클래스에서 제공합니다.
MapFragment 및 MapView는 개발자가 직접 생성할 수 있으나 NaverMap 객체는 오직 콜백 메서드를 이용해서 얻어올 수 있습니다.
지도 화면은 프래그먼트 및 뷰로 제공됩니다. 이 중 한 가지를 레이아웃에 추가하면 화면에 지도가 나타납니다.
지도를 화면에 나타내는 방법 중 가장 권장되는 것은 MapFragment를 사용하는 것입니다.

MapFragment는 androidx.fragment.app.Fragment의 하위 클래스로, 여타 프래그먼트와 마찬가지로 레이아웃 XML 또는 FragmentTransaction을 사용해 추가할 수 있습니다.


프래그먼트를 사용하지 않고 뷰를 바로 사용할 수도 있습니다.
MapView를 레이아웃에 추가하면 MapFragment를 사용한 것과 마찬가지로 지도가 화면에 나타납니다.

MapView를 사용할 때는 반드시 MapView가 포함된 액티비티의 라이프 사이클에 맞추어 onCreate(), onStart(), onResume(), onPause(), onStop(), onDestroy(),
onSaveInstanceState(), onLowMemory()를 호출해야 합니다.
단, MapView가 프래그먼트에 포함될 경우 프래그먼트의 onCreateView() 또는 onViewCreated()에서 onCreate()를, onDestroyView()에서 onDestroy()를 호출해야
합니다.
그렇지 않으면 지도가 정상적으로 동작하지 않습니다.
MapFragment를 사용하면 이러한 절차가 필요하지 않으므로 MapFragment를 사용하는 것을 권장합니다.

MapFragment 및 MapView는 지도에 대한 뷰 역할만을 담당하므로 API를 호출하려면 인터페이스 역할을 하는 NaverMap 객체가 필요합니다.
MapFragment 또는 MapView의 getMapAsync() 메서드로 OnMapReadyCallback을 등록하면 비동기로 NaverMap 객체를 얻을 수 있습니다.
NaverMap 객체가 준비되면 onMapReady() 콜백 메서드가 호출됩니다.

좌표는 카메라나 오버레이의 위치같은 지리적 정보를 표현하기 위한 최소 단위로, 지도를 구성하는 가장 기본적인 요소입니다.
지도와 관련된 많은 API는 좌표 또는 영역을 파라미터로 받거나 반환합니다.
네이버 지도 SDK는 지구 표면의 한 지점을 위도와 경도로 표현하는 지리 좌표계를 기본 좌표계로 사용하며, 이와 관련된 기능을 제공합니다.
LatLng는 하나의 위경도 좌표를 나타내는 클래스입니다.
latitude 속성이 위도를, longitude 속성이 경도를 나타냅니다.
LatLng의 모든 속성은 final이므로 각 속성은 생성자로만 지정할 수 있고, 한 번 생성된 객체의 속성은 변경할 수 없습니다.
