Прежняя версия Google Maps Mobile SDK for Work: iOS

Для пользователей с лицензией на ранее выпускавшиеся продукты Google Maps APIs for Work или лицензией на Google Maps API for Business Google Maps SDK for iOS приобретается в составе Google Maps Mobile SDK for Work. В этом разделе документации описывается процедура настройки для этого SDK.

Эта страница предназначена только для пользователей, которые владеют лицензией на ранее выпускавшиеся продукты Maps APIs for Work или Maps API for Business. Эта страница не предназначена для пользователей нового продукта Google Maps APIs Premium Plan, который стал доступен в январе 2016 года.

Обзор

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

  1. Загрузите пакет SDK.
  2. Добавьте свой ключ API в файл AppDelegate.
  3. Добавьте карту.

Загрузка пакета 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 идентифицирует вас как пользователя Google Maps Mobile SDK for Work, позволяет получать поддержку и использовать приобретенную квоту для вашего приложения. Вы можете сгенерировать свой ключ API для учетной записи с активированной службой Google Maps Mobile SDK, зарегистрировав название пакета своего приложения.

Убедитесь, что ваша учетная запись активирована для службы

Google Maps Mobile SDK

После подписки на Google Maps Mobile SDK for Work группа Google Cloud Support активирует службу Google Maps Mobile SDK.

Эта служба включена в новый проект.

Примечание. Служба Google Maps Mobile SDK будет отображаться только в консоли исходного владельца проекта. Чтобы запросить разрешение на просмотр службы для других владельцев проекта, нужно отправить заявку по нетехнической проблеме в Google Cloud Support Portal.

Убедитесь, что ваша учетная запись активирована для требуемых API, выполнив следующие действия:

  1. Откройте Google API Console и войдите в свою учетную запись Google.
  2. Выберите проект Google Maps Mobile SDK for Work, который был создан для вас при заказе Google Maps Mobile SDK for Work. Название проекта начинается с Google Maps APIs for Business or Google Maps for Work or Google Maps. Если вы еще не приобрели доступ к SDK, [свяжитесь с отделом продаж].
  3. Откройте панель Dashboard и в списке API проверьте активацию Google Maps Mobile SDK.

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

После активации службы Google Maps Mobile SDK for Work для проекта необходимо сгенерировать новый ключ API.

  1. Откройте страницу учетных данных в Google API Console и войдите в свою учетную запись Google.
  2. Выберите проект Google Maps Mobile SDK for Work, который был создан для вас при заказе Google Maps Mobile SDK for Work. Название проекта начинается с Google Maps APIs for Business or Google Maps for Work or Google Maps. Если вы еще не приобрели доступ к SDK, [свяжитесь с отделом продаж].
  3. Найдите в списке *API keys ключ с ограничением для iOS.
  4. Если в вашем проекте еще нет ключа API с ограничением для iOS, создайте его, выбрав Создать учетные данные > Ключ API.
  5. В открывшемся диалоговом окне выберите Restrict key.
  6. В разделе Restrictions выберите iOS apps, а затем введите один или несколько идентификаторов пакетов приложений. Например: com.example.hellomap.
  7. Нажмите Save.

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

    AIzaSyBdVl-cTICSwYKrZ95SuvNw7dbMuDt1KG0

Добавление ключа 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 Places API for iOS

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

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

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

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

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

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

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

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

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

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

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

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

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