컬렉션을 사용해 정리하기 내 환경설정을 기준으로 콘텐츠를 저장하고 분류하세요.

마커가 포함된 지도 추가하기

이 튜토리얼에서는 iOS 앱에 Google 지도를 추가하는 방법을 설명합니다. 지도에는 특정 위치를 나타내는 마커(핀이라고도 함)가 포함됩니다.

코드 가져오기

GitHub에서 Google 지도 iOS 샘플 저장소를 클론하거나 다운로드합니다.

개발 프로젝트 설정

iOS용 Maps SDK를 설치하려면 다음 단계를 따르세요.

  1. Xcode 버전 13.0 이상을 다운로드하여 설치합니다.
  2. CocoaPods가 아직 없는 경우 터미널에서 다음 명령어를 실행하여 macOS에 설치합니다.
    sudo gem install cocoapods
  3. Google 지도 iOS 샘플 저장소를 클론하거나 다운로드합니다.
  4. tutorials/map-with-marker 디렉터리로 이동합니다.
  5. pod install 명령어를 실행합니다. 이렇게 하면 Podfile에 지정된 API가 포함된 종속 항목과 함께 설치됩니다.
  6. 프로젝트의 map-with-Marker.xcworkspace 파일을 열고 (더블클릭하여) Xcode에서 엽니다. .xcworkspace 파일을 사용하여 프로젝트를 열어야 합니다.

API 키 가져오기 및 필요한 API 사용 설정하기

이 튜토리얼을 완료하려면 iOS용 Maps SDK를 사용할 수 있도록 승인된 Google API 키가 필요합니다. 아래 버튼을 클릭하여 키를 가져오고 API를 활성화하세요.

시작하기

자세한 내용은 API 키 가져오기를 참고하세요.

애플리케이션에 API 키 추가

Swift

다음과 같이 API 키를 AppDelegate.swift에 추가합니다.

  1. 다음 import 문이 파일에 추가되었습니다.
    import GoogleMaps
  2. application(_:didFinishLaunchingWithOptions:) 메서드에서 다음 줄을 수정하여 YOUR_API_KEY를 API 키로 바꿉니다.
    GMSServices.provideAPIKey("YOUR_API_KEY")

Objective-C

다음과 같이 API 키를 AppDelegate.m에 추가합니다.

  1. 다음 import 문이 파일에 추가되었습니다.
    @import GoogleMaps;
  2. application(_:didFinishLaunchingWithOptions:) 메서드에서 다음 줄을 수정하여 YOUR_API_KEY를 API 키로 바꿉니다.
    [GMSServices provideAPIKey:@"YOUR_API_KEY"];

앱 빌드 및 실행

  1. iOS 기기를 컴퓨터에 연결하거나 Xcode 스키마 팝업 메뉴에서 시뮬레이터를 선택합니다.
  2. 기기를 사용 중인 경우 위치 서비스가 사용 설정되어 있는지 확인합니다. 시뮬레이터를 사용하는 경우 기능 메뉴에서 위치를 선택합니다.
  3. Xcode에서 Product/Run 메뉴 옵션 (또는 재생 버튼 아이콘)을 클릭합니다.

Xcode가 앱을 빌드한 다음 기기 또는 시뮬레이터에서 앱을 실행합니다.

이 페이지의 이미지와 비슷하게, 오스트레일리아를 기준으로 동쪽 해안에 위치한 시드니를 따라 마커가 표시된 지도가 나타납니다.

문제 해결:

  • 지도가 표시되지 않으면 위에서 설명한 대로 API 키를 가져와 앱에 추가했는지 확인하세요. Xcode의 디버깅 콘솔에서 API 키에 대한 오류 메시지를 확인합니다.
  • iOS 번들 식별자로 API 키를 제한했다면 키를 수정하여 앱의 번들 식별자를 추가합니다. com.google.examples.map-with-marker
  • Wi-Fi 또는 GPS 연결이 양호한지 확인합니다.
  • Xcode 디버깅 도구를 사용하여 로그를 확인하고 앱을 디버깅하세요.

코드 이해

  1. 지도를 만들어 loadView()에서 보기로 설정합니다.

    Swift

    // Create a GMSCameraPosition that tells the map to display the
    // coordinate -33.86,151.20 at zoom level 6.
    let camera = GMSCameraPosition.camera(withLatitude: -33.86, longitude: 151.20, zoom: 6.0)
    let mapView = GMSMapView.map(withFrame: CGRect.zero, camera: camera)
    view = mapView
          

    Objective-C

    // Create a GMSCameraPosition that tells the map to display the
    // coordinate -33.86,151.20 at zoom level 6.
    GMSCameraPosition *camera = [GMSCameraPosition cameraWithLatitude:-33.86
                                                            longitude:151.20
                                                                 zoom:6.0];
    GMSMapView *mapView = [[GMSMapView alloc] initWithFrame: CGRectZero camera:camera];
    self.view = mapView;
          
  2. loadView()의 지도에 마커를 추가합니다.

    Swift

    // Creates a marker in the center of the map.
    let marker = GMSMarker()
    marker.position = CLLocationCoordinate2D(latitude: -33.86, longitude: 151.20)
    marker.title = "Sydney"
    marker.snippet = "Australia"
    marker.map = mapView
          

    Objective-C

    // Creates a marker in the center of the map.
    GMSMarker *marker = [[GMSMarker alloc] init];
    marker.position = CLLocationCoordinate2DMake(-33.86, 151.20);
    marker.title = @"Sydney";
    marker.snippet = @"Australia";
    marker.map = mapView;
          

기본적으로 iOS용 Maps SDK는 사용자가 마커를 탭할 때 정보 창의 콘텐츠를 표시합니다. 기본 동작으로 충분하면 마커에 클릭 리스너를 추가하지 않아도 됩니다.

수고하셨습니다. 특정 위치를 나타내는 마커가 포함된 Google 지도를 표시하는 iOS 앱을 빌드했습니다. iOS용 Maps SDK를 사용하는 방법도 알아보았습니다.

다음 단계

지도 객체마커로 할 수 있는 작업에 대해 자세히 알아보세요.