15주년을 맞이한 Google Maps Platform - 최신 뉴스 및 공지사항 확인하기

라이트 모드

Maps SDK for Android에서 지도의 비트맵 이미지를 통해 사용자에게 제한된 상호작용 기능을 제공할 수 있습니다. 이를 라이트 모드 지도라고 합니다.

코드 샘플

GitHub의 ApiDemos 저장소에는 라이트 모드의 사용 방법을 보여주는 샘플이 포함되어 있습니다.

라이트 모드의 개요

라이트 모드 지도는 지정된 위치 및 확대/축소 수준으로 표시되는 지도의 비트맵 이미지입니다. 라이트 모드는 모든 지도 유형(일반, 하이브리드, 위성, 지형)을 지원하고 전체 API에서 제공하는 기능의 일부를 지원합니다. 라이트 모드는 여러 지도를 스트림으로 제공하거나 의미 있는 상호작용을 지원하기에 너무 작은 지도를 제공하려는 경우에 유용합니다.

지도를 보고 있는 사용자는 지도를 확대/축소하거나 화면 이동할 수 없습니다. 사용자는 지도의 아이콘을 통해 Google 지도 모바일 앱에서 지도를 보고 경로를 요청할 수 있습니다.

라이트 모드 지도 추가

라이트 모드에서는 전체 Google Maps Android API와 동일한 클래스 및 인터페이스를 사용합니다. 다음과 같은 방법으로 GoogleMap을 라이트 모드로 설정할 수 있습니다.

  • MapView 또는 MapFragment의 XML 속성으로 설정
  • GoogleMapOptions 객체에서 설정

MapView 또는 MapFragment의 XML 속성으로 설정

<fragment xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:map="http://schemas.android.com/apk/res-auto"
    android:name="com.google.android.gms.maps.MapFragment"
    android:id="@+id/map"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    map:cameraZoom="13"
    map:mapType="normal"
    map:liteMode="true"/>

GoogleMapOptions 객체에서 설정

GoogleMapOptions options = new GoogleMapOptions().liteMode(true);

지도의 초기 상태 설정에 관한 자세한 내용은 지도 객체 가이드를 참고하세요.

지도뷰 또는 경로 요청을 시작하는 인텐트

기본적으로 지도의 오른쪽 하단에 있는 툴바에는 Google 지도 모바일 앱의 지도뷰 또는 경로 요청에 대한 액세스 권한을 제공하는 아이콘이 포함됩니다. UiSettings.setMapToolbarEnabled(false)를 호출하여 툴바를 사용 중지할 수 있습니다. 자세한 내용은 툴바 문서를 참고하세요.

또한 기본적으로 사용자가 지도를 탭하면 API에서 Google 지도 모바일 앱을 시작합니다. GoogleMap.setOnMapClickListener()를 사용해 자체 리스너를 설정하여 이 작업을 재정의할 수 있습니다. MapView 또는 MapFragment가 포함된 뷰에서 setClickable()을 호출하여 지도의 클릭 이벤트를 사용 중지할 수도 있습니다. 이 두 가지 기법에 관한 자세한 내용은 이벤트 문서를 참고하세요.

수명 주기 이벤트

완전 대화형 모드에서 API를 사용하는 경우 MapView 클래스에서 모든 활동 수명 주기 메서드를 MapView 클래스의 해당 메서드에 전달해야 합니다. 수명 주기 메서드의 예로는 onCreate(), onDestroy(), onResume(), onPause()가 있습니다.

라이트 모드에서 MapView 클래스를 사용하는 경우 다음과 같은 상황을 제외하고 수명 주기 이벤트를 반드시 전달하지 않아도 됩니다.

  • onCreate()를 반드시 호출해야 합니다. 그렇지 않으면 지도가 표시되지 않습니다.
  • 라이트 모드 지도에 내 위치 점을 표시하고 기본 위치 소스를 사용하려면 위치 소스가 이러한 호출 사이에서만 업데이트되므로 onResume()onPause()를 호출해야 합니다. 자체 위치 소스를 사용하는 경우에는 이 두 메서드를 호출하지 않아도 됩니다.

지원되는 API 기능

다음 표에는 API 기능의 각 영역에 대한 라이트 모드 지도의 동작이 설명되어 있습니다. 앱이 라이트 모드에서 지원되지 않는 메서드를 호출하면 API에서 경고 메시지를 로깅합니다.

기능
지도 유형
지원 여부
다음 지도 유형GoogleMapOptions.mapType()GoogleMap.setMapType()(MAP_TYPE_NORMAL, MAP_TYPE_SATELLITE, MAP_TYPE_TERRAIN, MAP_TYPE_HYBRID, MAP_TYPE_NONE)을 통해 사용할 수 있습니다.
다중선, 다각형, 원
지원 여부
도형의 라이트 모드 기능은 전체 API와 일치합니다.
투영
지원 여부
투영의 라이트 모드 기능은 전체 API와 일치합니다.
내 위치
지원 여부
내 위치 레이어의 라이트 모드 기능은 전체 API와 일치합니다.
지도 패딩
지원 여부
지도 패딩의 라이트 모드 지원은 전체 API와 일치합니다.
정보 창
지원 여부
아이콘의 title()을 설정하면 사용자가 아이콘을 탭할 때 정보 창이 표시됩니다. 아이콘에서 showInfoWindow()를 호출하여 정보 창을 프로그래매틱 방식으로 표시할 수 있습니다. InfoWindowAdapter 인터페이스를 통해 맞춤 정보 창을 만들 수도 있습니다.
맞춤 기본 지도 스타일
지원 여부
Maps SDK for Android는 기본 지도의 맞춤 스타일 지정을 지원합니다.
아이콘
지원 여부 부분적으로
아이콘을 추가하고 클릭 이벤트에 응답할 수 있습니다. 맞춤 아이콘을 추가할 수도 있습니다. 아이콘을 드래그 가능하도록 만들 수는 없습니다. 라이트 모드 지도의 아이콘은 평면이므로 회전할 수 없습니다.
카메라 위치, 확대/축소, 애니메이션
지원 여부 부분적으로

카메라 타겟 및 확대/축소는 설정할 수 있지만 기울기 또는 방위는 설정할 수 없습니다. 라이트 모드에서 확대/축소 수준은 가장 가까운 정수로 반올림됩니다. GoogleMap.moveCamera()를 호출하면 다른 라이트 모드 지도 이미지가 표시됩니다. 카메라 설정 및 조작에 관한 자세한 내용은 뷰 변경을 참고하세요.

GoogleMap.animateCamera()를 호출해도 카메라 움직임의 애니메이션이 생성되지 않습니다. 카메라 뷰가 즉시 새로운 위치로 이동합니다.

지도 이벤트
지원 여부 부분적으로

라이트 모드는 GoogleMap.setOnMapClickListener()GoogleMap.setOnMapLongClickListener()를 지원합니다.

라이트 모드에서 지도의 클릭 이벤트를 사용 중지하려면 MapView 또는 MapFragment가 포함된 뷰에서 setClickable()을 호출하세요. 이 방법은 예를 들어 지도를 목록 보기로 표시하여 클릭 이벤트 발생 시 지도와 관련이 없는 작업을 호출하려는 경우에 유용합니다.

자세한 내용은 이벤트 문서를 참고하세요.

실내 지도 및 건물
지원 여부 아니요
라이트 모드는 Maps Static API와 동일한 타일을 표시합니다. 즉 실내 평면도가 기본 타일에 고정된 경우 표시됩니다. 그렇지 않은 경우 표시되지 않습니다. 또한 표시되는 층을 변경하거나 층 선택기를 조작할 수 없습니다.
교통정보 레이어
지원 여부 아니요
GoogleMap.setTrafficEnabled()는 라이트 모드에서 지원되지 않습니다.
지면 오버레이
지원 여부 아니요
GoogleMap.addGroundOverlay()는 라이트 모드에서 지원되지 않습니다.
타일 오버레이
지원 여부 아니요
GoogleMap.addTileOverlay()는 라이트 모드에서 지원되지 않습니다.
동작
지원 여부 아니요
라이트 모드에서는 동작이 지원되지 않습니다. 동작을 사용 설정하거나 사용 중지해도 아무 효과가 없습니다.
스트리트 뷰
지원 여부 아니요
스트리트 뷰는 라이트 모드에서 지원되지 않습니다.