지도는 API에서 GMSMapView
클래스, 즉
UIView
의 서브클래스. 지도는 세계에서 가장 중요한 객체입니다.
iOS용 Maps SDK를 사용하고, 추가, 삭제에 필요한 메서드를 제공합니다.
마커 및 다중선과 같은 기타 객체를 관리할 수 있습니다.
소개
iOS용 Maps SDK를 사용하면 있습니다. 이 지도는 Google 지도 SDK의 여러 동일한 기능을 노출합니다.
또한 API는 매핑 기능 외에도 다음과 같은 다양한 iOS UI 모델과 일치하는 상호작용을 지원합니다. 예를 들어 사용자와의 동작에 반응하는 응답자를 정의하여 지도와의 상호작용을 개선할 수 있습니다. 두 번 탭하기 등의 동작을 할 수 있습니다.
지도 객체 사용 시의 주요 클래스는 GMSMapView
클래스입니다.
GMSMapView
는 다음 작업을 자동으로 처리합니다.
- Google 지도 서비스에 연결
- 지도 타일 다운로드
- 기기 화면에 타일 표시
- 화면 이동 및 확대/축소와 같은 다양한 컨트롤 표시
- 화면 이동 및 확대/축소 동작 시 지도를 이동하거나 확대/축소하여 응답
- 보기 각도를 기울여 두 손가락 제스처에 반응 있습니다.
이러한 자동 작업 외에도 애플리케이션의 동작과
에 의해 노출되는 속성 및 메서드를 통해 지도의 모양을
GMSMapView
클래스. GMSMapView
에서는 마커, 지면을 추가하고 제거할 수 있습니다.
표시되는 지도 유형을 변경하고
GMSCameraPosition
를 통해 지도에 표시되는 내용
클래스에 대해 자세히 알아보세요.
SwiftUI로 지도 빌드
SwiftUI는 선언적 접근 방식을 사용하여 UI를 만드는 추가적인 방법을 제공합니다. 나 다양한 상태와 함께 뷰를 원하는 방식을 SwiftUI에 알림 나머지는 시스템에서 알아서 처리합니다. SwiftUI는 언제든지 뷰 업데이트를 처리합니다. 이벤트 또는 사용자 작업으로 인해 기본 상태가 변경되는 경우.
iOS용 Maps SDK는 UIKit
를 기반으로 빌드되었으며
SwiftUI 호환 뷰. SwiftUI에 지도를 추가하려면 다음 중 하나를 준수해야 합니다.
UIViewRepresentable
또는 UIViewControllerRepresentable
자세한 내용은
Codelab 다음을 사용하여 iOS 앱에 지도 추가
SwiftUI를 사용하는 것입니다.
지도 추가하기
지도를 추가하는 기본 단계는 다음과 같습니다.
SDK와 API 키를 가져온 후 필수 프레임워크를 추가하려면 다음 단계를 따르세요.
AppDelegate
에서provideAPIKey:
에 API 키를 제공합니다. 클래스 메서드를GMSServices
에 설명하겠습니다.ViewController
를 만들거나 업데이트합니다. 이 때 지도가 표시되면 뷰 컨트롤러가 표시되면 반드시viewDidLoad
메서드를 사용하여 지도 가장자리에 패딩을 추가할 수 있습니다.지도뷰를 초기화할 때 다음을 사용하여 구성 옵션을 설정합니다.
GMSMapViewOptions
속성에는frame
,camera
,mapID
,backgroundColor
또는screen
입니다.지도 옵션
camera
속성을GMSCameraPosition
객체. 이것은 이미지의 중심과 확대/축소 수준을 있습니다.GMSMapView
를 사용하여GMSMapView
클래스를 만들고 인스턴스화합니다.options:
메서드를 사용하여 지도 가장자리에 패딩을 추가할 수 있습니다. 이 지도를 뷰 컨트롤러의 보기 전용입니다.CGRectZero
의 지도 옵션frame
기본값은frame
뷰로 사용됩니다. 지도의 크기가 자동으로 조정됩니다.GMSMapView
객체를 뷰 컨트롤러의 뷰로 설정합니다. 예를 들면self.view = mapView;
입니다.
아래 예시는 싱가포르 도심을 중심으로 하는 지도를 앱에 추가합니다.
Swift
import GoogleMaps class MapObjects : UIViewController { override func viewDidLoad() { super.viewDidLoad() let options = GMSMapViewOptions() options.camera = GMSCameraPosition(latitude: 1.285, longitude: 103.848, zoom: 12) options.frame = self.view.bounds; let mapView = GMSMapView(options:options) self.view = mapView } }
Objective-C
- (void)viewDidLoad { [super viewDidLoad]; GMSMapViewOptions *options = [[GMSMapViewOptions alloc] init]; options.camera = [GMSCameraPosition cameraWithLatitude:1.285 longitude:103.848 zoom:12]; options.frame = self.view.bounds; GMSMapView *mapView = [[GMSMapView alloc] initWithOptions:options]; self.view = mapView; }
이 단계를 따른 후에는 GMSMapView
를 추가로 구성할 수 있습니다.
객체를 지정합니다.
다음 단계
이 단계를 완료하면 지도를 구성할 수 있습니다. 설정을 참조하세요.