Все готово!

Прежде чем приступить к разработке, ознакомьтесь с документацией для разработчиков.

Активация Google Maps SDK for iOS

Чтобы помочь вам освоиться, мы покажем, как выполнить некоторые необходимые действия в консоли разработчика Google:

  1. Создание или выбор проекта
  2. Активация Google Maps SDK for iOS
  3. Создание соответствующих ключей

Начало работы

Перед началом работы с Google Maps на iOS необходимо загрузить Google Maps SDK for iOS и получить ключ API.

Полные примечания к выпуску публикуются при выпуске каждой новой версии.

Если вы используете Google Maps SDK for iOS с лицензией на Google Maps APIs Premium Plan, обратитесь к руководству по началу работы с Premium Plan.

Шаг 1. Установите последнюю версию Xcode

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

Шаг 2. Установите пакет разработчика

Использование 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.

Шаг 4. Получите ключ API

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

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

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

  1. Перейдите в Google API Console.
  2. Создайте или выберите проект.
  3. Нажмите Continue для активации Google Maps SDK for iOS.
  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.

Шаг 5. Добавьте ключ 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"];

Шаг 6. Добавьте карту

В приведенном ниже коде показан процесс добавления простой карты к существующему контроллеру 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.

Шаг 7. Декларируйте схемы URL, используемые API

Начиная с iOS 9 и Xcode 7, приложения должны декларировать схемы URL-адресов, которые они будут открывать. Эти схемы указываются в файле Info.plist приложения. Google Maps SDK for iOS открывает мобильное приложение Google Maps, когда пользователь касается логотипа Google на карте, поэтому вашему приложению необходимо объявить соответствующие схемы URL.

Чтобы объявить схемы URL, которые используются Google Maps SDK for iOS, добавьте следующие строки в файл Info.plist:

<key>LSApplicationQueriesSchemes</key>
<array>
    <string>googlechromes</string>
    <string>comgooglemaps</string>
</array>

На приведенных ниже снимках экрана показана конфигурация в пользовательском интерфейсе Xcode.

Конфигурация LSApplicationQueriesSchemes в Xcode

Если описанное выше объявление не выполнить, то когда пользователь нажмет логотип Google на карте, возникнут следующие ошибки:

-canOpenURL: failed for URL: "comgooglemaps://" - error: "This app is not allowed to query for scheme comgooglemaps"
-canOpenURL: failed for URL: "googlechromes://" - error: "This app is not allowed to query for scheme googlechromes"

Чтобы избежать этих ошибок, добавьте объявление в Info.plist, как это описано выше.

Работа с демонстрационным проектом Google Maps SDK

Запустите демонстрационные приложения SDK, используя pod try GoogleMaps. Дополнительную информацию см. в руководстве по примерам кода.

Обновление до новой версии

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

Примечание. Версии 1.9.2 и более ранние версии Google Maps SDK for iOS были доступны в виде архива ZIP, содержащего статическую платформу. Также была возможность устанавливать последние версии из группы контейнеров CocoaPods. Начиная с версии 1.10.0 и далее Google Maps SDK for iOS доступен для установки только из CocoaPods.

Если вы ранее установили Google Maps SDK for iOS из архива ZIP, содержащего статическую платформу, выполните следующие действия.

  1. Удалите все ссылки на предыдущую платформу из своего проекта Xcode.
  2. Следуйте инструкциям в примечании выше по установке Google Maps SDK for iOS с помощью CocoaPods.
  3. После установки обновлений внесите соответствующие изменения. Список изменений для каждой версии см. в примечаниях к выпуску.
  4. Выполните очистку и повторную сборку своего проекта, выбрав Product > Clean, а затем Product > Build.

Если вы ранее установили Google Maps SDK for iOS из группы контейнеров Google-Maps-iOS-SDK, выполните следующие действия.

  1. Измените имя своей группы контейнеров на GoogleMaps.
  2. Выполните команду pod install.
  3. После установки обновлений внесите соответствующие изменения. Список изменений для каждой версии см. в примечаниях к выпуску.
  4. Выполните очистку и повторную сборку своего проекта, выбрав Product > Clean, а затем Product > Build.

Если вы ранее установили Google Maps SDK for iOS из группы контейнеров GoogleMaps, выполните следующие действия.

  1. Проверьте файл Podfile на наличие каких-либо ограничений для версии и убедитесь, что вы выполнили удаление или обновление для установки нужной вам версии. Список номеров версий см. в примечаниях к выпуску.
  2. Выполните команду pod update.
  3. После установки обновлений внесите соответствующие изменения. Список изменений для каждой версии см. в примечаниях к выпуску.
  4. Выполните очистку и повторную сборку своего проекта, выбрав Product > Clean, а затем Product > Build.

Оставить отзыв о...

Текущей странице
Google Maps SDK for iOS
Google Maps SDK for iOS
Нужна помощь? Обратитесь в службу поддержки.