컨트롤 및 동작

플랫폼 선택: Android iOS JavaScript

iOS용 Maps SDK를 사용하면 사용자가 어떤 내장 UI 구성요소를 파악하여 지도와 상호작용할 수 있습니다. 및 허용되는 동작을 지정할 수 있습니다.

지도 컨트롤

iOS용 Maps SDK에서는 기본 제공되는 UI 컨트롤 몇 가지를 iOS용 Google 지도 애플리케이션과 유사합니다. 다음을 수행할 수 있습니다. 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;
      

층 선택기

층 선택기 컨트롤은 실내 지도가 눈에 띄게 표시됩니다. 두 개 이상의 실내 지도가 표시되면 층 선택기는 화면 중앙에서 가장 가까운 건물과 관련이 있습니다. 각 건물에는 선택기가 처음 실행될 때 선택되는 기본 층이 있습니다. 표시됩니다. 선택기에서 다양한 층을 선택할 수 있습니다.

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

Swift

mapView.settings.indoorPicker = false
      

Objective-C

mapView.settings.indoorPicker = NO;
      

지도 동작

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

  • 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;
}