Начало работы с премиум-планом на iOS

Ваша лицензия на Google Maps APIs Premium Plan обеспечивает расширенную поддержку Google Maps SDK for iOS. В этом документе содержится информация о том, как создать приложение iOS, в котором используется Google Maps SDK for iOS с Premium Plan.

Обзор

Следуйте указаниям, приведенным на этой странице, чтобы загрузить пакет SDK, настроить проект и добавить карту. Ниже приводится краткое описание необходимых шагов.

  1. Установите Xcode и пакета SDK.
  2. Получите ключ API.
  3. Добавьте в свое приложение ключ API.
  4. Добавьте карту.

Установка Xcode и пакета SDK

Установка последней версии Xcode

Для создания проекта с использованием Google Maps SDK for iOS требуется версия Xcode7.3 или более новая версия.

Установка пакета SDK

Использование CocoaPods

Google Maps SDK for iOS доступен в виде группы контейнеров CocoaPods. CocoaPods – диспетчер зависимостей с открытым исходным кодом для проектов Cocoa на языках Swift и Objective-C.

Если инструмент CocoaPods у вас еще не установлен, установите его в macOS, выполнив следующую команду через терминал: Дополнительную информацию см. в руководстве по началу работы с CocoaPods.

sudo gem install cocoapods

Создайте файл Podfile для Google Maps SDK for iOS и используйте его для установки API и его зависимостей.

  1. Если у вас еще нет проекта Xcode, создайте его и сохраните на локальном компьютере. (Если вы раньше не занимались разработкой для iOS, создайте приложение с одним представлением).
  2. Создайте файл с именем Podfile в каталоге своего проекта. Этот файл содержит определения зависимостей проекта.
  3. Откройте Podfile и добавьте в него свои зависимости. Вот пример, который включает зависимости, необходимые для Google Maps SDK for iOS и Places API for iOS (необязательное):
    source 'https://github.com/CocoaPods/Specs.git'
    target 'YOUR_APPLICATION_TARGET_NAME_HERE' do
      pod 'GoogleMaps'
      pod 'GooglePlaces'
    end

    Пользователи премиум-плана также должны добавить: pod 'GoogleMaps/M4B'.

  4. Сохраните Podfile.
  5. Откройте окно терминала и перейдите в каталог, содержащий Podfile:

    cd <path-to-project>
  6. Выполните команду pod install. Эта команда устанавливает API, указанные в Podfile, а также все относящиеся к ним зависимости.

    pod install
  7. Закройте проект Xcode, а затем откройте (двойным щелчком) файл .xcworkspace вашего проекта для запуска Xcode. С этого момента для открытия проекта необходимо использовать файл .xcworkspace.

Установка вручную

В этом руководстве разъясняется, как вручную добавить платформу GoogleMaps в проект и настроить параметры сборки в Xcode.

  1. Загрузите исходные файлы SDK: GoogleMaps-2.0.1.
  2. Распакуйте исходные файлы.
  3. Запустите Xcode, после чего либо откройте существующий проект, либо создайте новый. Если вы раньше не занимались разработкой для iOS, создайте приложение с одним представлением, отключите режим Use Storyboards и включите режим Use Automatic Reference Counting.
  4. Перенесите следующие пакеты в свой проект (при появлении соответствующего запроса выберите Copy items if needed):
    • Subspecs/Base/Frameworks/GoogleMapsBase.framework
    • Subspecs/Maps/Frameworks/GoogleMaps.framework
    • Subspecs/Maps/Frameworks/GoogleMapsCore.framework

    Пользователи премиум-плана должны также добавить Subspecs/M4B/Frameworks/GoogleMapsM4B.framework.

  5. В своем проекте правой кнопкой щелкните GoogleMaps.framework и выберите Show In Finder.
  6. Перетяните GoogleMaps.bundle из папки Resources в свой проект. При появлении соответствующего запроса убедитесь, что режим Copy items into destination group's folder не выбран.
  7. В Project Navigator найдите свой проект и выберите назначение своего приложения.
  8. Перейдите на вкладку Build Phases и в Link Binary with Libraries добавьте следующие компоненты:
    • GoogleMapsBase.framework
    • GoogleMaps.framework
    • GoogleMapsCore.framework
    • GoogleMapsM4B.framework (только для пользователей премиум-плана)
    • Accelerate.framework
    • CoreData.framework
    • CoreGraphics.framework
    • CoreLocation.framework
    • CoreText.framework
    • GLKit.framework
    • ImageIO.framework
    • libc++.tbd
    • libz.tbd
    • OpenGLES.framework
    • QuartzCore.framework
    • SystemConfiguration.framework
    • UIKit.framework
  9. Вместо конкретного назначения выберите свой проект и перейдите на вкладку Build Settings. В разделе Other Linker Flags добавьте -ObjC. Если эти параметры не отображаются, на панели Build Settings измените фильтр – вместо Basic выберите All.

  10. Информацию об установке Places API for iOS см. на странице Начало работы с Places API for iOS.

Получение ключа API

Чтобы ваше приложение прошло аутентификацию в Google Maps SDK for iOS, необходим ключ API, ограниченный по идентификатору пакета для конкретного приложения. Эта комбинация создает ключ API с ограничением для iOS.

Нажмите кнопку ниже для помощи при выполнении процесса получения ключа API. Если в вашем проекте уже используется ключ API с ограничением iOS, можете использовать его. Внимание! В раскрывающемся меню проектов выберите проект, созданный для вас при покупке Google Maps APIs Premium Plan. Имя проекта начинается с Google Maps APIs for Business or Google Maps for Work or Google Maps.

Получить ключ

В качестве альтернативы выполните следующие действия, чтобы получить ключ API.

  1. Перейдите в Google API Console.
  2. В раскрывающемся меню Project выберите проект Google Maps Premium.*
  3. Нажмите Continue.
  4. На странице Учетные данные выберите Ключ API.
    Примечание. Если у вас есть ключ с ограничениями для iOS, можете использовать этот ключ. В одном проекте можно использовать один и тот же ключ с любыми приложениями для iOS.
  5. В окне с отображаемым ключом API выберите Restrict key, чтобы установить ограничение iOS для ключа API.
  6. В разделе Restrictions выберите iOS apps и укажите идентификатор пакета своего приложения. Например: com.example.hellomap.
  7. Нажмите Save.

    Ваш новый ключ API, ограниченный для iOS, отобразится в списке ключей API для вашего проекта. Ключ API представляет собой строку символов, которая выглядит примерно так:

    AIzaSyBdVl-cTICSwYKrZ95SuvNw7dbMuDt1KG0

Также можно выполнить поиск существующего ключа в Google API Console.

Дополнительную информацию об использовании Google API Console см. в Справке API Console.

Добавление ключа API в приложение

Swift

Добавьте свой ключ API в файл AppDelegate.swift, как показано ниже.

  1. Добавьте следующую команду импорта:
    import GoogleMaps
  2. Добавьте следующее в свой методapplication(_:didFinishLaunchingWithOptions:), заменив YOUR_API_KEY на ключ API:
    GMSServices.provideAPIKey("YOUR_API_KEY")
  3. Если вы также используете Places API, добавьте ключ еще раз, как показано здесь:
    GMSPlacesClient.provideAPIKey("YOUR_API_KEY")

Objective-C

Добавьте свой ключ API в файл AppDelegate.m, как показано ниже.

  1. Добавьте следующую команду импорта:
    @import GoogleMaps;
  2. Добавьте следующее в свой методapplication:didFinishLaunchingWithOptions:, заменив YOUR_API_KEY на ключ API:
    [GMSServices provideAPIKey:@"YOUR_API_KEY"];
  3. Если вы также используете Places API, добавьте ключ еще раз, как показано здесь:
    [GMSPlacesClient provideAPIKey:@"YOUR_API_KEY"];

Добавление карты

В приведенном ниже коде показан процесс добавления простой карты к существующему контроллеру ViewController. При создании нового приложения сначала выполните инструкции по установке, приведенные выше, а затем создайте новое Single View Application; отключив режим Use Storyboards и включив режим Use Automatic Reference Counting (ARC).

Теперь добавьте или обновите несколько методов в используемом по умолчанию контроллеру ViewController своего приложения, чтобы создать и инициализировать экземпляр GMSMapView.

Swift

import UIKit
import GoogleMaps

class YourViewController: UIViewController {

  // You don't need to modify the default init(nibName:bundle:) method.

  override func loadView() {
    // 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)
    mapView.isMyLocationEnabled = true
    view = mapView

    // 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

#import "YourViewController.h"
#import <GoogleMaps/GoogleMaps.h>

@implementation YourViewController

// You don't need to modify the default initWithNibName:bundle: method.

- (void)loadView {
  // 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];
  GMSMapView *mapView = [GMSMapView mapWithFrame:CGRectZero camera:camera];
  mapView.myLocationEnabled = YES;
  self.view = mapView;

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

@end

Запустите свое приложение. Должна отобразиться карта, на которой единственный маркер установлен на г. Сидней, Австралия. Если маркер отображается, а сама карта – нет, проверьте, указали ли вы ключ API.

Дополнительная информация

Требования к указанию авторства

Вы обязаны указывать текст со сведениями об авторстве в разделе "Правовое уведомление" своего приложения. Google рекомендует добавлять такое правовое уведомление отдельным пунктом меню или указывать ссылку на него в разделе "О программе".

Чтобы ознакомиться со сведениями об авторстве, вызовите GMSServices.openSourceLicenseInfo().

Поддерживаемые платформы

Для разработки приложения iOS с помощью Google Maps SDK for iOS, поставляемого с Premium Plan, необходимо следующее:

  • Xcode 7.3 или более поздней версии.
  • iOS SDK 8.0 или более поздней версии.

Приложения, разработанные с помощью этого пакета SDK, будут работать на iOS 7.0 и более поздней версии.

Сравнение версий

В следующей таблице приводится описание основных различий между использованием стандартного Google Maps SDK for iOS и пакета SDK, который доступен с Premium Plan.

  Стандартный Google Maps SDK for iOS Premium Plan
Каналы поддержки Поддержка сообщества. Доступ к поддержке премиум-уровня.
Условия использования Применяются условия использования Google Maps и Google Earth API. Применяются условия использования Google Maps APIs Premium Plan .

Документация

Основным источником информации о Google Maps SDK for iOS является документация для разработчиков и справочная документация, доступная на нашем веб-сайте.