Android용 Maps SDK에서 지도의 비트맵 이미지를 통해 사용자에게 제한된 상호작용 기능을 제공할 수 있습니다. 이를 라이트 모드 지도라고 합니다.
코드 샘플
GitHub의 ApiDemos 저장소에는 라이트 모드의 사용 방법을 보여주는 샘플이 있습니다.
- LiteDemoActivity - Java: Java에서 라이트 모드 지도를 사용하기 위한 기본 사항
- LiteDemoActivity - Kotlin: Kotlin에서 라이트 모드 지도를 사용하기 위한 기본 사항
- LiteListDemoActivity - Java: Java에서 라이트 모드를 사용하여 ListView에 지도를 효율적으로 표시하기
- LiteListDemoActivity - Kotlin: Kotlin에서 라이트 모드를 사용하여 ListView에 지도를 효율적으로 표시하기
라이트 모드의 개요
라이트 모드 지도는 특정 위치를 지정된 확대/축소 수준으로 표시한 지도의 비트맵 이미지입니다. 라이트 모드는 모든 지도 유형(일반, 하이브리드, 위성, 지형) 및 전체 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
객체에서 설정
Kotlin
val options = GoogleMapOptions() .liteMode(true)
Java
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 인터페이스를 통해
맞춤 정보 창을 만들 수도 있습니다. |
맞춤 기본 지도 스타일 | 지원 여부 부분적으로 지원됨
Android용 Maps SDK는 기본 지도의
맞춤 스타일 지정을
지원합니다. 라이트 모드는 JSON 기반 맞춤 스타일 지정만 지원하고
스타일 지도를 렌더링하는 데 지도 ID가 필요한 클라우드 기반 스타일 지정은 지원하지 않습니다. |
마커 | 지원 여부 부분적으로 지원됨
마커를 추가하고
클릭 이벤트에 응답할 수 있습니다. 맞춤 마커 아이콘을 추가할 수도
있습니다. 마커를 드래그 가능하도록 만들 수는 없습니다. 라이트 모드 지도의
마커는 평면이며 회전할 수 없습니다. |
카메라 위치, 확대/축소, 애니메이션 | 지원 여부 부분적으로 지원됨
카메라 타겟 및 확대/축소는 설정할 수 있지만, 기울기 또는 방위는 설정할 수 없습니다.
라이트 모드에서 확대/축소 수준은 가장 가까운 정수로 반올림됩니다.
|
지도 이벤트 | 지원 여부 부분적으로 지원됨
라이트 모드는
라이트 모드에서 지도의 클릭 이벤트를 사용 중지하려면
자세한 내용은 이벤트 관련 문서를 참고하세요. |
실내 지도 및 건물 | 지원 여부 지원 안 됨
라이트 모드는 Maps Static API와
동일한 타일을 표시합니다.
즉 실내 평면도가 기본 타일에 고정된 경우
표시됩니다. 그렇지 않은 경우에는 표시되지 않습니다. 또한 표시되는 층을 변경하거나 층 선택기를
조작할 수 없습니다. |
교통정보 레이어 | 지원 여부 지원 안 됨
GoogleMap.setTrafficEnabled() 는 라이트 모드에서 지원되지
않습니다. |
지면 오버레이 | 지원 여부 지원 안 됨
GoogleMap.addGroundOverlay() 는 라이트 모드에서 지원되지
않습니다. |
타일 오버레이 | 지원 여부 지원 안 됨
GoogleMap.addTileOverlay() 는 라이트 모드에서 지원되지
않습니다. |
동작 | 지원 여부 지원 안 됨
라이트 모드에서는 동작이 지원되지 않습니다. 동작을 사용 설정하거나 사용 중지해도
아무 효과가 없습니다. |
스트리트 뷰 | 지원 여부 지원 안 됨
스트리트 뷰는
라이트 모드에서 지원되지 않습니다. |