컨트롤 및 제스처

플랫폼 선택: Android iOS JavaScript

Android용 Maps SDK를 사용하면 지도에 표시할 기본 제공 UI 구성요소와 허용되는 동작을 지정하여 사용자가 지도와 상호작용하는 방식을 맞춤설정할 수 있습니다.

코드 샘플

GitHub의 ApiDemos 저장소에는 컨트롤 및 동작 옵션의 사용 방법을 보여주는 샘플이 포함되어 있습니다.

사용자 상호작용이 최소화된 경우를 위한 라이트 모드

사용자 상호작용이 최소화된 간단한 지도가 필요하면 라이트 모드 지도를 사용해 보세요. 라이트 모드에서는 지정된 위치 및 확대/축소 수준으로 지도의 비트맵 이미지를 제공합니다. 라이트 모드에서는 사용자가 지도를 화면 이동하거나 확대/축소할 수 없으며 동작이 작동하지 않습니다. 자세한 내용은 라이트 모드 가이드를 참고하세요.

UI 컨트롤

지도 API는 Android 휴대전화의 Google 지도 애플리케이션에 있는 컨트롤과 유사한 UI 컨트롤을 기본으로 제공합니다. GoogleMap.getUiSettings 메서드를 통해 GoogleMap에서 가져올 수 있는 UiSettings 클래스를 사용하여 이러한 컨트롤의 표시 여부를 설정할 수 있습니다. 이 클래스의 변경사항은 지도에 즉시 반영됩니다. 이러한 기능의 예를 살펴보려면 샘플 애플리케이션의 UI 설정 데모 활동을 확인하세요.

이러한 옵션 중 대부분은 XML 속성이나 GoogleMapOptions 클래스를 사용하여 지도를 만들 때 구성할 수도 있습니다. 자세한 내용은 초기 상태 구성을 참고하세요.

각 UI 컨트롤의 위치는 지도의 가장자리를 기준으로 사전 지정되어 있습니다. GoogleMap 객체에 패딩을 추가하여 컨트롤을 상단, 하단, 왼쪽, 오른쪽 가장자리로부터 이동할 수 있습니다.

확대/축소 컨트롤

지도 API에서는 지도의 오른쪽 하단에 확대/축소 컨트롤을 기본으로 제공합니다. 이 컨트롤은 기본적으로 사용 중지되어 있지만 UiSettings.setZoomControlsEnabled(true)를 호출하여 사용 설정할 수 있습니다.

확대/축소 컨트롤

나침반

지도 API는 특정 상황에서 지도의 왼쪽 상단에 나침반 이미지를 표시합니다. 나침반은 방위 또는 기울기가 0이 아닌 상태가 되는 방향으로 카메라가 향하고 있는 경우에만 표시됩니다. 사용자가 나침반을 클릭하면 방위 및 기울기가 0인 위치(기본 방향)로 카메라가 다시 움직이고 나침반은 바로 사라집니다. UiSettings.setCompassEnabled(boolean)를 호출하여 나침반이 아예 표시되지 않도록 사용 중지할 수 있습니다. 하지만 나침반이 항상 표시되도록 설정할 수는 없습니다.

나침반

내 위치 버튼

내 위치 버튼은 내 위치 레이어가 사용 설정된 경우에만 화면의 오른쪽 상단에 표시됩니다. 자세한 내용은 위치 데이터 가이드를 참고하세요.

내 위치 버튼

층 선택기

기본적으로 층 선택기는 사용자가 실내 지도를 볼 때 화면 중앙의 오른쪽 가장자리 근처에 표시됩니다. 실내 지도가 2개 이상 표시되면 현재 초점이 맞춰져 있는 건물(일반적으로 화면의 중앙에 가장 가까운 건물)에 층 선택기가 적용됩니다. 각 건물에는 기본 층이 있으며 선택기가 처음 표시될 때 기본 층이 선택됩니다. 사용자가 선택기에서 다른 층을 선택할 수 있습니다.

GoogleMap.getUiSettings().setIndoorLevelPickerEnabled(boolean)를 호출하여 층 선택기 컨트롤을 사용 중지하거나 사용 설정할 수 있습니다.

이 기능은 기본 층 선택기를 개발자가 만든 층 선택기로 대체할 때 유용합니다.

층 선택기

지도 툴바

기본적으로 툴바는 사용자가 마커를 탭할 때 지도의 오른쪽 하단에 표시됩니다. 툴바를 사용하면 Google 지도 모바일 앱에 빠르게 액세스할 수 있습니다.

UiSettings.setMapToolbarEnabled(boolean)를 호출하여 툴바를 사용 설정하거나 사용 중지할 수 있습니다.

라이트 모드 지도에서는 툴바가 사용자의 액션과 관계없이 표시됩니다. 완전 대화형 지도에서는 사용자가 마커를 탭하면 툴바가 슬라이드인되고 마커가 초점을 벗어나면 슬라이드아웃됩니다.

툴바에는 Google 지도 모바일 앱의 지도뷰 또는 경로 요청에 액세스할 수 있는 아이콘이 표시됩니다. 사용자가 툴바의 아이콘을 탭하면 API가 Google 지도 모바일 앱에서 해당 활동을 시작하기 위한 인텐트를 생성합니다.

지도 툴바

위 스크린샷에서 툴바는 지도의 오른쪽 하단에 표시되어 있습니다. Google 지도 모바일 앱에서 결과 인텐트를 지원하는 경우 지도의 콘텐츠에 따라 인텐트 아이콘이 0개, 1개 또는 2개 모두 표시됩니다.

지도 동작

Android용 Maps SDK를 사용하여 만든 지도는 Google 지도 애플리케이션과 동일한 동작을 지원합니다. 하지만 지도의 상태를 유지하기 위해 특정 동작을 사용 중지해야 할 상황이 생길 수도 있습니다. 확대/축소, 화면 이동, 기울기, 방위는 프로그래매틱 방식으로 설정할 수도 있습니다. 자세한 내용은 카메라 및 뷰를 참고하세요. 동작을 사용 중지해도 카메라 위치를 프로그래매틱 방식으로 변경할 수 있는지 여부는 달라지지 않습니다.

UI 컨트롤과 마찬가지로, GoogleMap.getUiSettings 호출로 GoogleMap에서 가져올 수 있는 UiSettings 클래스를 통해 동작을 사용 설정/사용 중지할 수 있습니다. 이 클래스의 변경사항은 지도에 즉시 반영됩니다. 이러한 기능의 예는 샘플 애플리케이션의 UI 설정 데모 활동에서 볼 수 있습니다(샘플 애플리케이션 설치 방법은 여기에서 확인).

이러한 옵션은 XML 속성이나 GoogleMapOptions 클래스를 이용해 지도를 만들 때 구성할 수도 있습니다. 자세한 내용은 지도 구성하기를 참고하세요.

확대/축소 동작

지도는 카메라의 확대/축소 수준을 변경할 수 있는 다양한 동작에 반응합니다.

  • 두 번 탭하여 1단계씩 확대
  • 두 손가락으로 탭하여 확대/축소 수준을 1단계씩 축소
  • 두 손가락으로 모으기/늘이기
  • 한 손가락으로 확대/축소(두 번 탭한 후 두 번째 탭에서 손가락을 떼지 않고 위로 슬라이드하여 축소하거나 아래로 슬라이드하여 확대)

UiSettings.setZoomGesturesEnabled(boolean)를 호출하여 확대/축소 동작을 사용 중지할 수 있습니다. 이렇게 해도 사용자가 확대/축소 컨트롤을 사용하여 확대/축소할 수 있는지 여부는 달라지지 않습니다.

스크롤(상하) 및 화면 이동(좌우) 동작

사용자가 손가락으로 지도를 드래그하여 지도를 상하로 스크롤하거나 화면에서 좌우로 이동할 수 있습니다. UiSettings.setScrollGesturesEnabled(boolean)를 호출하여 스크롤 동작을 사용 중지할 수 있습니다.

기울이기 동작

사용자가 지도에 두 손가락을 대고 한꺼번에 위아래로 움직여 기울이기 각도를 늘리거나 줄임으로써 지도를 기울일 수 있습니다. UiSettings.setTiltGesturesEnabled(boolean)를 호출하여 기울이기 동작을 사용 중지할 수 있습니다.

회전 동작

사용자가 지도에 두 손가락을 대고 회전 동작을 적용하여 지도를 회전할 수 있습니다. UiSettings.setRotateGesturesEnabled(boolean)를 호출하여 회전 동작을 사용 중지할 수 있습니다.