iOS용 Maps SDK를 사용하면 지도에 표시되는 내장 UI 구성요소와 허용되는 동작을 결정하여 사용자가 지도와 상호작용하는 방식을 맞춤설정할 수 있습니다.
지도 컨트롤
iOS용 Maps SDK는 iOS용 Google 지도 애플리케이션에 있는 것과 유사한 일부 기본 제공 UI 컨트롤을 제공합니다. GMSUISettings
클래스를 사용하여 이러한 컨트롤의 표시 상태를 전환할 수 있습니다.
이 클래스의 변경사항은 지도에 즉시 반영됩니다.
나침반
iOS용 Maps SDK는 특정 상황에서 지도의 오른쪽 상단에 표시되는 나침반 그래픽을 제공합니다. 나침반은 방위각이 0이 아닌 방향으로 카메라가 배치된 경우에만 표시됩니다. 사용자가 나침반을 클릭하면 카메라가 방위각이 0인 위치 (기본 방향)로 다시 애니메이션 처리되고 나침반이 잠시 후 사라집니다.
나침반은 기본적으로 비활성화되어 있습니다. GMSUISettings
의 compassButton
속성을 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;
내 위치 버튼
내 위치 버튼은 내 위치 버튼이 사용 설정된 경우에만 단독으로 화면 오른쪽 하단에 표시됩니다. 사용자가 버튼을 클릭하면 사용자의 위치가 현재 알려진 경우 카메라가 애니메이션을 실행하여 사용자의 현재 위치에 초점을 맞춥니다. GMSUISettings
의 myLocationButton
속성을 YES
로 설정하여 버튼을 사용 설정할 수 있습니다.
Swift
mapView.settings.myLocationButton = true
Objective-C
mapView.settings.myLocationButton = YES;
층 선택 도구
실내 지도가 눈에 띄게 표시될 때마다 층 선택기 컨트롤이 화면 오른쪽 하단에 표시됩니다. 실내 지도가 두 개 이상 표시되면 층 선택기는 화면 중앙에 가장 가까운 건물과 관련이 있습니다. 각 건물에는 기본 층이 있으며 선택기가 처음 표시될 때 이 층이 선택됩니다. 선택기에서 다양한 층을 선택할 수 있습니다.
GMSUISettings
의 indoorPicker
속성을 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; }