컨트롤 및 동작

플랫폼 선택: Android iOS JavaScript

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

지도 컨트롤

iOS용 Maps SDK는 iOS용 Google 지도 애플리케이션에 있는 것과 유사한 UI 컨트롤을 기본으로 제공합니다. GMSUISettings 클래스를 사용하여 이러한 컨트롤의 공개 상태를 전환할 수 있습니다. 이 클래스의 변경사항은 지도에 즉시 반영됩니다.

나침반

iOS용 Maps SDK는 특정 상황에서 지도의 오른쪽 상단에 나침반 그래픽을 제공합니다. 나침반은 카메라 방향이 0이 아닌 방위가 되도록 되어 있는 경우에만 표시됩니다. 사용자가 나침반을 클릭하면 방위가 0인 위치 (기본 방향)로 카메라가 다시 움직이고 나침반은 곧 사라집니다.

나침반은 기본적으로 비활성화되어 있습니다. GMSUISettingscompassButton 속성을 YES로 설정하여 나침반을 사용 설정할 수 있습니다. 하지만 나침반이 항상 표시되도록 강제할 수는 없습니다.

Swift

let camera = GMSCameraPosition(latitude: 37.757815, longitude: -122.50764, zoom: 12)
let mapView = GMSMapView(frame: .zero, camera: camera)
mapView.settings.compassButton = true
      

Objective-C

GMSCameraPosition *camera = [GMSCameraPosition cameraWithLatitude:37.757815
                                                        longitude:-122.50764
                                                             zoom:12];
GMSMapView *mapView = [GMSMapView mapWithFrame:CGRectZero camera:camera];
mapView.settings.compassButton = YES;
      

내 위치 버튼

내 위치 버튼은 내 위치 버튼이 사용 설정된 경우에만 화면의 오른쪽 하단에 표시됩니다. 사용자가 버튼을 클릭하면 사용자의 위치가 현재 알려져 있는 경우 카메라가 애니메이션되어 사용자의 현재 위치에 초점을 맞춥니다. GMSUISettingsmyLocationButton 속성을 YES로 설정하여 버튼을 사용 설정할 수 있습니다.

Swift

mapView.settings.myLocationButton = true
      

Objective-C

mapView.settings.myLocationButton = YES;
      

층 선택기

층 선택기 컨트롤은 실내 지도가 눈에 띄게 표시될 때마다 화면 오른쪽 하단에 표시됩니다. 실내 지도가 2개 이상 표시되면 층 선택기가 화면 중앙에 가장 가까운 건물과 연결됩니다. 각 건물에는 선택기가 처음 표시될 때 선택되는 기본 층이 있습니다. 선택기에서 다양한 층을 선택할 수 있습니다.

GMSUISettingsindoorPicker 속성을 NO로 설정하여 층 선택기 컨트롤을 사용 중지할 수 있습니다.

Swift

mapView.settings.indoorPicker = false
      

Objective-C

mapView.settings.indoorPicker = NO;
      

지도 동작

GMSMapView의 속성으로 제공되는 GMSUISettings 클래스의 속성을 설정하여 지도에서 기본 동작을 사용 중지할 수 있습니다. 다음 제스처는 프로그래밍 방식으로 활성화/비활성화할 수 있습니다. 동작을 사용 중지해도 카메라 설정에 대한 프로그래매틱 액세스가 제한되지는 않습니다.

  • scrollGestures - 스크롤 동작의 사용 설정 또는 중지 여부를 제어합니다. 이 제스처가 활성화된 경우, 사용자가 카메라를 스와이프해서 패닝할 수 있습니다.
  • zoomGestures - 확대/축소 동작의 사용 설정 또는 사용 중지 여부를 제어합니다. 사용 설정하면 사용자가 두 번 탭하거나 두 손가락으로 탭하거나 손가락을 모아서 카메라를 확대/축소할 수 있습니다. scrollGestures가 사용 설정된 경우 두 번 탭하거나 손가락을 모으면 카메라가 지정된 지점으로 화면 이동할 수 있습니다.
  • tiltGestures - 기울이기 동작의 사용 설정 또는 중지 여부를 제어합니다. 사용 설정하면 사용자가 두 손가락을 사용하여 세로로 위 또는 아래로 스와이프하여 카메라를 기울일 수 있습니다.
  • rotateGestures - 회전 동작의 사용 설정 또는 중지 여부를 제어합니다. 사용 설정하면 사용자가 두 손가락 회전 동작을 사용하여 카메라를 회전할 수 있습니다.

아래 예시에서는 팬과 확대/축소 제스처가 모두 비활성화되어 있습니다.

Swift

override func loadView() {
  let camera = GMSCameraPosition.camera(
    withLatitude: 1.285,
    longitude: 103.848,
    zoom: 12
  )

  let mapView = GMSMapView.map(withFrame: .zero, camera: camera)
  mapView.settings.scrollGestures = false
  mapView.settings.zoomGestures = false
  self.view = mapView
}
      

Objective-C

- (void)loadView {
  GMSCameraPosition *camera = [GMSCameraPosition cameraWithLatitude:1.285
                                                          longitude:103.848
                                                               zoom:12];
  GMSMapView *mapView = [GMSMapView mapWithFrame:CGRectZero camera:camera];
  mapView.settings.scrollGestures = NO;
  mapView.settings.zoomGestures = NO;
  self.view = mapView;
}