Настроить проект Xcode

После включения выставления счетов и создания ключа API вы готовы настроить проект Xcode, который вы используете для разработки своего приложения.

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

Шаг 1. Установите необходимое программное обеспечение

Чтобы создать проект с использованием Navigation SDK для iOS, необходимо скачать и установить:

  • Xcode версии 15.0 или новее

Шаг 2. Создайте проект Xcode и установите навигационный SDK.

Менеджер пакетов Swift

Навигационный SDK можно установить через Swift Package Manager . Чтобы добавить SDK, убедитесь, что вы удалили все существующие зависимости Navigation SDK.

Чтобы добавить SDK в новый или существующий проект, выполните следующие действия:

  1. Откройте project или workspace Xcode, затем выберите «Файл» > «Добавить зависимости пакета» .
  2. Введите https://github.com/googlemaps/ios-navigation-sdk в качестве URL-адреса, нажмите Enter , чтобы получить пакет, и нажмите «Добавить пакет».
  3. Чтобы установить конкретную version , установите в поле «Правило зависимости» один из вариантов на основе версии. Для новых проектов рекомендуем указывать последнюю версию и использовать опцию «Точная версия». После завершения нажмите «Добавить пакет».
  4. В окне «Выбор продуктов пакета» убедитесь, что GoogleNavigation будет добавлен к назначенной вами main цели. После завершения нажмите «Добавить пакет».
  5. Чтобы проверить установку, перейдите на панель General целевой системы. В разделе «Платформы», «Библиотеки» и «Встроенный контент» вы должны увидеть установленные пакеты. Вы также можете просмотреть раздел «Зависимости пакетов» в «Навигаторе проекта», чтобы проверить пакет и его версию.

Чтобы обновить package для существующего проекта, выполните следующие действия:

  1. В Xcode перейдите в «Файл» > «Пакеты» > «Обновить до последних версий пакетов».
  2. Чтобы проверить установку, перейдите в раздел «Зависимости пакетов» в «Навигаторе проекта», чтобы проверить пакет и его версию.

Чтобы удалить существующий навигационный SDK для iOS, установленный вручную, выполните следующие действия:
  1. В настройках конфигурации проекта Xcode найдите Frameworks, Libraries и Embedded Content . Используйте знак минус (-), чтобы удалить следующую структуру:
    • GoogleMaps.xcframework
    • GoogleMapsBase.xcframework
    • GoogleMapsCore.xcframework
    • GoogleNavigation.xcframework
  2. Из каталога верхнего уровня вашего проекта Xcode удалите пакет GoogleMaps .

Какао-стручки

Навигационный SDK для iOS доступен в виде модуля CocoaPods . CocoaPods — это менеджер зависимостей с открытым исходным кодом для проектов Cocoa Swift и Objective-C.

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

sudo gem install cocoapods

Создайте Podfile для навигационного SDK для iOS и используйте его для установки API и его зависимостей:

  1. Если у вас еще нет проекта Xcode, создайте его сейчас и сохраните на своем локальном компьютере. Если вы новичок в разработке для iOS:
    1. Создайте новый проект.
    2. Выберите iOS > Шаблон приложения .
    3. На экране опций проекта:
      1. Введите название проекта .
      2. Запишите значение поля идентификатора пакета . Вы можете использовать это значение, чтобы ограничить свой ключ API ниже.
      3. Установите для интерфейса проекта значение Storyboard .
      4. Установите язык Swift или Objective-C .
  2. Создайте файл с именем Podfile в каталоге вашего проекта. Этот файл определяет зависимости вашего проекта.
  3. Отредактируйте Podfile и добавьте свои зависимости вместе с их версиями . Вот пример, который включает в себя зависимость, необходимую для навигационного SDK для iOS: # Справочник по установке Cocoapods #
    source 'https://github.com/CocoaPods/Specs.git'
    
    platform :ios, '15.0'
    
    target 'YOUR_APPLICATION_TARGET_NAME_HERE' do
      pod 'GoogleNavigation', '9.1.1'
    end
            
    Обязательно регулярно запускайте pod outdated для обнаружения новых версий. При необходимости обновитесь до последней версии .
  4. Сохраните Podfile .
  5. Откройте терминал и перейдите в каталог, содержащий Podfile :

    cd <path-to-project>
  6. Запустите команду pod install . При этом будут установлены API, указанные в Podfile , вместе со всеми зависимостями.

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

Чтобы обновить API для существующего проекта, выполните следующие действия:

  1. Откройте терминал и перейдите в каталог проекта, содержащий Podfile .
  2. Запустите команду pod update . При этом все API, указанные в Podfile обновляются до последней версии.

Ручная установка

В этом руководстве показано, как вручную добавить XCFrameworks, содержащий навигационный SDK для iOS и Maps SDK для iOS, в ваш проект и настроить параметры сборки в Xcode. XCFramework — это двоичный пакет, который можно использовать на нескольких платформах, включая машины с набором микросхем M1.

Выполните следующие действия, чтобы установить XCFrameworks для Navigation SDK для iOS и Maps SDK для iOS:

  1. Загрузите следующие двоичные файлы SDK и файлы ресурсов:
  2. Запустите Xcode и либо откройте существующий проект, либо создайте новый проект. Если вы новичок в iOS, создайте новый проект и выберите шаблон приложения iOS .
  3. Удалите из проекта все существующие ссылки на карты, навигацию и места.
  4. Перетащите следующие файлы XCFrameworks в свой проект в разделе «Платформы, библиотеки и встроенный контент» , чтобы установить SDK «Карты» и «Навигация» (при появлении запроса выберите «Копировать элементы, если необходимо »):
    • GoogleMaps.xcframework
    • GoogleMapsBase.xcframework
    • GoogleMapsCore.xcframework
    • GoogleNavigation.xcframework
  5. Перетащите GoogleMaps.bundle из загруженного вами GoogleMapsResources в каталог верхнего уровня вашего проекта Xcode. При появлении запроса убедитесь, что выбран параметр «Копировать элементы при необходимости» .
  6. Перетащите GoogleNavigation.bundle из загруженного вами GoogleNavigationResources в каталог верхнего уровня вашего проекта Xcode. При появлении запроса убедитесь, что выбран параметр «Копировать элементы в папку целевой группы» .
  7. Выберите свой проект в Навигаторе проектов и выберите цель своего приложения.
  8. Откройте вкладку «Фазы сборки» и в разделе «Связывание двоичных файлов с библиотеками » добавьте следующие платформы и библиотеки:
    • Accelerate.framework
    • AudioToolbox.framework
    • AVFoundation.framework
    • Contacts.framework
    • CoreData.framework
    • CoreGraphics.framework
    • CoreImage.framework
    • CoreLocation.framework
    • CoreTelephony.framework
    • CoreText.framework
    • GLKit.framework
    • ImageIO.framework
    • libc++.tbd
    • libxml2.tbd
    • libz.tbd
    • Metal.framework
    • OpenGLES.framework
    • QuartzCore.framework
    • Security.framework
    • SystemConfiguration.framework
    • UIKit.framework
    • UserNotifications.framework
    • WebKit.framework
  9. В целевом приложении выберите вкладку « Возможности» , включите «Фоновые режимы» и включите следующие режимы:
    • Аудио, AirPlay и картинка в картинке
    • Обновления местоположения
  10. Выберите свой проект, а не конкретную цель, и откройте вкладку «Настройки сборки» . В разделе «Другие флаги компоновщика» добавьте ‑ObjC как для отладки , так и для выпуска . Если эти настройки не отображаются, измените фильтр на панели настроек сборки с «Базовый» на «Все» .
  11. Откройте Info.plist и добавьте следующие пары ключ-значение:
    • Ключ: NSLocationWhenInUseUsageDescription ( Конфиденциальность — местоположение при использовании, описание использования )
      Значение: «Этому приложению требуется разрешение на использование вашего местоположения для пошаговой навигации».
    • Ключ: NSLocationAlwaysAndWhenInUseUsageDescription ( Конфиденциальность — местоположение всегда и при использовании описания использования )
      Значение: «Этому приложению требуется разрешение на использование вашего местоположения для пошаговой навигации».

Шаг 3. Проверьте файл манифеста конфиденциальности Apple.

Apple требует предоставить информацию о конфиденциальности для приложений в App Store. Посетите страницу сведений о конфиденциальности Apple App Store для получения обновлений и дополнительной информации.

Файл манифеста конфиденциальности Apple включен в пакет ресурсов для SDK. Чтобы убедиться, что файл манифеста конфиденциальности включен, и проверить его содержимое, создайте архив своего приложения и создайте отчет о конфиденциальности из архива.

Шаг 4. Добавьте ключ API в проект.

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

Быстрый

Добавьте свой ключ API в свой AppDelegate.swift следующим образом:

  1. Добавьте следующие операторы импорта:
    import GoogleMaps
    import GoogleNavigation
  2. Добавьте в свой application(_:didFinishLaunchingWithOptions:) следующее:
    GMSServices.provideAPIKey("YOUR_API_KEY")

Цель-C

Добавьте свой ключ API в свой AppDelegate.m следующим образом:

  1. Добавьте следующие операторы импорта:
    @import GoogleMaps;
    @import GoogleNavigation;
  2. Добавьте в свое application:didFinishLaunchingWithOptions: ::
    [GMSServices provideAPIKey:@"YOUR_API_KEY"];

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

Этот код демонстрирует, как добавить простую карту к существующему ViewController , включая некоторые начальные настройки навигации.

Прежде чем включить навигацию, пользователь должен согласиться с условиями. Чтобы запросить у пользователя запрос, вызовите GMSNavigationServices.showTermsAndConditionsDialogIfNeeded() , а затем проверьте, были ли приняты условия. Если пользователь отклоняет условия, mapView.isNavigationEnabled = true не имеет никакого эффекта, а mapView.navigator равен нулю.

Быстрый

import UIKit
import GoogleNavigation

class ViewController: UIViewController {

  var mapView: GMSMapView!
  var locationManager: CLLocationManager!

  override func loadView() {
    locationManager = CLLocationManager()
    locationManager.requestAlwaysAuthorization()

    let options = GMSMapViewOptions()
    options.camera = camera
    options.frame = .zero
    mapView = GMSMapView(options: options)

    // Show the terms and conditions.
    let termsAndConditionsOptions = GMSNavigationTermsAndConditionsOptions(companyName: "Ride Share Co.")

    GMSNavigationServices.showTermsAndConditionsDialogIfNeeded(with: termsAndConditionsOptions) { termsAccepted in
      if termsAccepted {
        // Enable navigation if the user accepts the terms.
        self.mapView.isNavigationEnabled = true
      } else {
        // Handle the case when the user rejects the terms and conditions.
      }
    }

    view = mapView
  }

  // TODO: Add navigation code.

}

Цель-C

#import "ViewController.h"
@import GoogleNavigation;

@interface ViewController ()
@end

@implementation ViewController
GMSMapView *_mapView;
CLLocationManager *_locationManager;

-   (void)loadView {

  _locationManager = [[CLLocationManager alloc] init];
  [_locationManager requestAlwaysAuthorization];

  GMSCameraPosition *camera = [GMSCameraPosition cameraWithLatitude:47.67
                                                          longitude:-122.20
                                                               zoom:14];
  GMSMapViewOptions *options = [[GMSMapViewOptions alloc] init];
  options.frame = CGRectZero;
  options.camera = camera;
  options.mapID = mapID;
  _mapView = [[GMSMapView alloc] initWithOptions:options];

  // Show the terms and conditions.
  GMSNavigationTermsAndConditionsOptions *termsAndConditionsOptions = [[GMSNavigationTermsAndConditionsOptions alloc] initWithCompanyName:@"Ride Sharing Co."];
  
  [GMSNavigationServices
    showTermsAndConditionsDialogIfNeededWithOptions:termsAndConditionsOptions
    callback:^(BOOL termsAccepted) {
     if (termsAccepted) {
       // Enable navigation if the user accepts the terms.
       _mapView.navigationEnabled = YES;
     } else {
       // Handle the case when the user rejects the terms and conditions.
     }
   }];

  self.view = _mapView;
}

// TODO: Add navigation code.

@end

Запустите ваше приложение. Вы должны увидеть карту с центром в Киркленде, штат Вашингтон.

Если карта не отображается, попробуйте следующее:

  • Подтвердите, что вы предоставили правильный ключ API.
  • Убедитесь, что NavSDK включен в Cloud Console.
  • Если Nav SDK установлен, но ваш проект не использует API Nav SDK, удалите его из двоичного файла.

Если вы являетесь клиентом мобильных услуг

Если вы являетесь клиентом мобильных услуг, узнайте о выставлении счетов в документации по мобильности. Дополнительную информацию о записи транзакций см. в разделе Настройка выставления счетов . Чтобы узнать, как добавить идентификаторы транзакций в реализацию Navigation SDK, см. раздел «Связывание использования службы с транзакциями мобильности» .

Что дальше

Теперь, когда у вас есть ключ API и проект Xcode, вы можете создавать и запускать приложения. Navigation SDK для iOS предоставляет учебные пособия, которые помогут вам начать работу. Более подробную информацию см.:

,

После включения выставления счетов и создания ключа API вы готовы настроить проект Xcode, который вы используете для разработки своего приложения.

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

Шаг 1. Установите необходимое программное обеспечение.

Чтобы создать проект с использованием Navigation SDK для iOS, необходимо скачать и установить:

  • Xcode версии 15.0 или новее

Шаг 2. Создайте проект Xcode и установите навигационный SDK.

Менеджер пакетов Swift

Навигационный SDK можно установить через Swift Package Manager . Чтобы добавить SDK, убедитесь, что вы удалили все существующие зависимости Navigation SDK.

Чтобы добавить SDK в новый или существующий проект, выполните следующие действия:

  1. Откройте project или workspace Xcode, затем выберите «Файл» > «Добавить зависимости пакета» .
  2. Введите https://github.com/googlemaps/ios-navigation-sdk в качестве URL-адреса, нажмите Enter , чтобы получить пакет, и нажмите «Добавить пакет».
  3. Чтобы установить конкретную version , установите в поле «Правило зависимости» один из вариантов на основе версии. Для новых проектов рекомендуем указывать последнюю версию и использовать опцию «Точная версия». После завершения нажмите «Добавить пакет».
  4. В окне «Выбор продуктов пакета» убедитесь, что GoogleNavigation будет добавлен к назначенной вами main цели. После завершения нажмите «Добавить пакет».
  5. Чтобы проверить установку, перейдите на панель General целевой системы. В разделе «Платформы», «Библиотеки» и «Встроенный контент» вы должны увидеть установленные пакеты. Вы также можете просмотреть раздел «Зависимости пакетов» в «Навигаторе проекта», чтобы проверить пакет и его версию.

Чтобы обновить package для существующего проекта, выполните следующие действия:

  1. В Xcode перейдите в «Файл» > «Пакеты» > «Обновить до последних версий пакетов».
  2. Чтобы проверить установку, перейдите в раздел «Зависимости пакетов» в «Навигаторе проекта», чтобы проверить пакет и его версию.

Чтобы удалить существующий навигационный SDK для iOS, установленный вручную, выполните следующие действия:
  1. В настройках конфигурации проекта Xcode найдите Frameworks, Libraries и Embedded Content . Используйте знак минус (-), чтобы удалить следующую структуру:
    • GoogleMaps.xcframework
    • GoogleMapsBase.xcframework
    • GoogleMapsCore.xcframework
    • GoogleNavigation.xcframework
  2. Из каталога верхнего уровня вашего проекта Xcode удалите пакет GoogleMaps .

Какао-стручки

Навигационный SDK для iOS доступен в виде модуля CocoaPods . CocoaPods — это менеджер зависимостей с открытым исходным кодом для проектов Cocoa Swift и Objective-C.

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

sudo gem install cocoapods

Создайте Podfile для навигационного SDK для iOS и используйте его для установки API и его зависимостей:

  1. Если у вас еще нет проекта Xcode, создайте его сейчас и сохраните на своем локальном компьютере. Если вы новичок в разработке для iOS:
    1. Создайте новый проект.
    2. Выберите iOS > Шаблон приложения .
    3. На экране опций проекта:
      1. Введите название проекта .
      2. Запишите значение поля идентификатора пакета . Вы можете использовать это значение, чтобы ограничить свой ключ API ниже.
      3. Установите для интерфейса проекта значение Storyboard .
      4. Установите язык Swift или Objective-C .
  2. Создайте файл с именем Podfile в каталоге вашего проекта. Этот файл определяет зависимости вашего проекта.
  3. Отредактируйте Podfile и добавьте свои зависимости вместе с их версиями . Вот пример, который включает в себя зависимость, необходимую для навигационного SDK для iOS: # Справочник по установке Cocoapods #
    source 'https://github.com/CocoaPods/Specs.git'
    
    platform :ios, '15.0'
    
    target 'YOUR_APPLICATION_TARGET_NAME_HERE' do
      pod 'GoogleNavigation', '9.1.1'
    end
            
    Обязательно регулярно запускайте pod outdated для обнаружения новых версий. При необходимости обновитесь до последней версии .
  4. Сохраните Podfile .
  5. Откройте терминал и перейдите в каталог, содержащий Podfile :

    cd <path-to-project>
  6. Запустите команду pod install . При этом будут установлены API, указанные в Podfile , вместе со всеми зависимостями.

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

Чтобы обновить API для существующего проекта, выполните следующие действия:

  1. Откройте терминал и перейдите в каталог проекта, содержащий Podfile .
  2. Запустите команду pod update . При этом все API, указанные в Podfile обновляются до последней версии.

Ручная установка

В этом руководстве показано, как вручную добавить XCFrameworks, содержащий навигационный SDK для iOS и Maps SDK для iOS, в ваш проект и настроить параметры сборки в Xcode. XCFramework — это двоичный пакет, который можно использовать на нескольких платформах, включая машины с набором микросхем M1.

Выполните следующие действия, чтобы установить XCFrameworks для Navigation SDK для iOS и Maps SDK для iOS:

  1. Загрузите следующие двоичные файлы SDK и файлы ресурсов:
  2. Запустите Xcode и либо откройте существующий проект, либо создайте новый проект. Если вы новичок в iOS, создайте новый проект и выберите шаблон приложения iOS .
  3. Удалите из проекта все существующие ссылки на карты, навигацию и места.
  4. Перетащите следующие файлы XCFrameworks в свой проект в разделе «Платформы, библиотеки и встроенный контент» , чтобы установить SDK «Карты» и «Навигация» (при появлении запроса выберите «Копировать элементы, если необходимо »):
    • GoogleMaps.xcframework
    • GoogleMapsBase.xcframework
    • GoogleMapsCore.xcframework
    • GoogleNavigation.xcframework
  5. Перетащите GoogleMaps.bundle из загруженного вами GoogleMapsResources в каталог верхнего уровня вашего проекта Xcode. При появлении запроса убедитесь, что выбран параметр «Копировать элементы при необходимости» .
  6. Перетащите GoogleNavigation.bundle из загруженного вами GoogleNavigationResources в каталог верхнего уровня вашего проекта Xcode. При появлении запроса убедитесь, что выбран параметр «Копировать элементы в папку целевой группы» .
  7. Выберите свой проект в Навигаторе проектов и выберите цель своего приложения.
  8. Откройте вкладку «Фазы сборки» и в разделе «Связывание двоичных файлов с библиотеками » добавьте следующие платформы и библиотеки:
    • Accelerate.framework
    • AudioToolbox.framework
    • AVFoundation.framework
    • Contacts.framework
    • CoreData.framework
    • CoreGraphics.framework
    • CoreImage.framework
    • CoreLocation.framework
    • CoreTelephony.framework
    • CoreText.framework
    • GLKit.framework
    • ImageIO.framework
    • libc++.tbd
    • libxml2.tbd
    • libz.tbd
    • Metal.framework
    • OpenGLES.framework
    • QuartzCore.framework
    • Security.framework
    • SystemConfiguration.framework
    • UIKit.framework
    • UserNotifications.framework
    • WebKit.framework
  9. В целевом приложении выберите вкладку « Возможности» , включите «Фоновые режимы» и включите следующие режимы:
    • Аудио, AirPlay и картинка в картинке
    • Обновления местоположения
  10. Выберите свой проект, а не конкретную цель, и откройте вкладку «Настройки сборки» . В разделе «Другие флаги компоновщика» добавьте ‑ObjC как для отладки , так и для выпуска . Если эти настройки не отображаются, измените фильтр на панели «Параметры сборки» с «Базовый» на «Все» .
  11. Откройте Info.plist и добавьте следующие пары ключ-значение:
    • Ключ: NSLocationWhenInUseUsageDescription ( Конфиденциальность — местоположение при использовании, описание использования )
      Значение: «Этому приложению требуется разрешение на использование вашего местоположения для пошаговой навигации».
    • Ключ: NSLocationAlwaysAndWhenInUseUsageDescription ( Конфиденциальность — местоположение всегда и при использовании описания использования )
      Значение: «Этому приложению требуется разрешение на использование вашего местоположения для пошаговой навигации».

Шаг 3. Проверьте файл манифеста конфиденциальности Apple.

Apple требует предоставить информацию о конфиденциальности для приложений в App Store. Посетите страницу сведений о конфиденциальности Apple App Store для получения обновлений и дополнительной информации.

Файл манифеста конфиденциальности Apple включен в пакет ресурсов для SDK. Чтобы убедиться, что файл манифеста конфиденциальности включен, и проверить его содержимое, создайте архив своего приложения и создайте отчет о конфиденциальности из архива.

Шаг 4. Добавьте ключ API в проект.

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

Быстрый

Добавьте свой ключ API в свой AppDelegate.swift следующим образом:

  1. Добавьте следующие операторы импорта:
    import GoogleMaps
    import GoogleNavigation
  2. Добавьте в свой application(_:didFinishLaunchingWithOptions:) следующее:
    GMSServices.provideAPIKey("YOUR_API_KEY")

Цель-C

Добавьте свой ключ API в свой AppDelegate.m следующим образом:

  1. Добавьте следующие операторы импорта:
    @import GoogleMaps;
    @import GoogleNavigation;
  2. Добавьте в свое application:didFinishLaunchingWithOptions: ::
    [GMSServices provideAPIKey:@"YOUR_API_KEY"];

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

Этот код демонстрирует, как добавить простую карту к существующему ViewController , включая некоторые начальные настройки навигации.

Прежде чем включить навигацию, пользователь должен согласиться с условиями. Чтобы запросить у пользователя запрос, вызовите GMSNavigationServices.showTermsAndConditionsDialogIfNeeded() , а затем проверьте, были ли приняты условия. Если пользователь отклоняет условия, mapView.isNavigationEnabled = true не имеет никакого эффекта, а mapView.navigator равен нулю.

Быстрый

import UIKit
import GoogleNavigation

class ViewController: UIViewController {

  var mapView: GMSMapView!
  var locationManager: CLLocationManager!

  override func loadView() {
    locationManager = CLLocationManager()
    locationManager.requestAlwaysAuthorization()

    let options = GMSMapViewOptions()
    options.camera = camera
    options.frame = .zero
    mapView = GMSMapView(options: options)

    // Show the terms and conditions.
    let termsAndConditionsOptions = GMSNavigationTermsAndConditionsOptions(companyName: "Ride Share Co.")

    GMSNavigationServices.showTermsAndConditionsDialogIfNeeded(with: termsAndConditionsOptions) { termsAccepted in
      if termsAccepted {
        // Enable navigation if the user accepts the terms.
        self.mapView.isNavigationEnabled = true
      } else {
        // Handle the case when the user rejects the terms and conditions.
      }
    }

    view = mapView
  }

  // TODO: Add navigation code.

}

Цель-C

#import "ViewController.h"
@import GoogleNavigation;

@interface ViewController ()
@end

@implementation ViewController
GMSMapView *_mapView;
CLLocationManager *_locationManager;

-   (void)loadView {

  _locationManager = [[CLLocationManager alloc] init];
  [_locationManager requestAlwaysAuthorization];

  GMSCameraPosition *camera = [GMSCameraPosition cameraWithLatitude:47.67
                                                          longitude:-122.20
                                                               zoom:14];
  GMSMapViewOptions *options = [[GMSMapViewOptions alloc] init];
  options.frame = CGRectZero;
  options.camera = camera;
  options.mapID = mapID;
  _mapView = [[GMSMapView alloc] initWithOptions:options];

  // Show the terms and conditions.
  GMSNavigationTermsAndConditionsOptions *termsAndConditionsOptions = [[GMSNavigationTermsAndConditionsOptions alloc] initWithCompanyName:@"Ride Sharing Co."];
  
  [GMSNavigationServices
    showTermsAndConditionsDialogIfNeededWithOptions:termsAndConditionsOptions
    callback:^(BOOL termsAccepted) {
     if (termsAccepted) {
       // Enable navigation if the user accepts the terms.
       _mapView.navigationEnabled = YES;
     } else {
       // Handle the case when the user rejects the terms and conditions.
     }
   }];

  self.view = _mapView;
}

// TODO: Add navigation code.

@end

Запустите ваше приложение. Вы должны увидеть карту с центром в Киркланде, штат Вашингтон.

Если карта не отображается, попробуйте следующее:

  • Подтвердите, что вы предоставили правильный ключ API.
  • Убедитесь, что NavSDK включен в Cloud Console.
  • Если Nav SDK установлен, но ваш проект не использует API Nav SDK, удалите его из двоичного файла.

Если вы являетесь клиентом мобильных услуг

Если вы являетесь клиентом мобильных услуг, узнайте о выставлении счетов в документации по мобильности. Дополнительную информацию о записи транзакций см. в разделе Настройка выставления счетов . Чтобы узнать, как добавить идентификаторы транзакций в реализацию Navigation SDK, см. раздел «Связывание использования службы с транзакциями мобильности» .

Что дальше

Теперь, когда у вас есть ключ API и проект Xcode, вы можете создавать и запускать приложения. Navigation SDK для iOS предоставляет учебные пособия, которые помогут вам начать работу. Более подробную информацию см.: