Краткое руководство по геопространственным данным для iOS

В этом кратком руководстве по ARCore Geospatial API показано, как запустить в Xcode пример приложения, демонстрирующего Geospatial API.

Руководство по разработке собственного приложения с помощью Geospatial API см. в руководстве разработчика Geospatial для iOS .

Дополнительную информацию о Geospatial API см. в разделе «Введение в ARCore Geospatial API».

Если вы новичок в разработке с помощью ARCore, см. раздел «Начало работы» .

Предварительные условия

  • Xcode версии 13.0 или новее
  • Cocoapods 1.4.0 или новее, если вы используете Cocoapods
  • ARKit-совместимое устройство Apple под управлением iOS 12.0 или более поздней версии (требуется цель развертывания iOS 12.0 или более поздней версии)

Настройте образец приложения

Проект GeospatialExample , включенный в ARCore SDK для iOS, описывает код, вызывающий Geospatial API.

  1. Клонируйте или загрузите ARCore SDK для iOS с GitHub, чтобы получить пример кода приложения.

  2. Откройте окно Терминала или Finder и перейдите к папке, в которую вы клонировали или загрузили SDK.

  3. Перейдите в папку arcore-ios-sdk-master/Examples .

  4. Откройте папку «Примеры» , выберите папку GeospatialExample и нажмите «Открыть» .

Настройте проект Google Cloud

Чтобы использовать систему визуального позиционирования (VPS), ваше приложение должно быть связано с облачным проектом Google, который поддерживает API ARCore.

Вы должны включить ARCore API в своем проекте Google Cloud. Если вам нужно создать проект, сделайте следующее:

  1. Посетите раздел «Создание проекта в Google Cloud Platform» .

  2. Введите подходящее имя проекта и выберите для него местоположение.

  3. Нажмите Создать .

  4. На боковой панели выберите «API и сервисы» , затем «Библиотека» .

  5. Найдите ARCore API , выберите его и нажмите «Включить» .

Настроить авторизацию

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

  1. В своем проекте Google Cloud получите ключ API, как описано в разделе Создание ключа API .

  2. Скопируйте ключ API в том виде, в котором вы его вставите, на более позднем этапе.

  3. В Xcode в примере приложения GeospatialExample откройте файл ViewController.m и найдите your-api-key .

  4. Добавьте свой ключ API в GARSession : вставьте ключ API, который вы скопировали на предыдущем шаге, поверх текста your-api-key (оставьте кавычки), как показано ниже.

    self.garSession = [GARSession sessionWithAPIKey:@"your-api-key"
                                   bundleIdentifier:nil
                                              error:&error];
    

Настройте ARCore SDK

Приложение GeospatialExample поставляется с Podfile , предварительно настроенным с использованием необходимых вам версий ARCore SDK и iOS. Чтобы установить эти зависимости, откройте окно терминала и запустите pod install из папки, где существует проект Xcode.

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

Создайте и запустите пример приложения.

  1. В Xcode выберите файл рабочей области GeospatialExample и нажмите Signing & Capabilities .

  2. Установите флажок Автоматически управлять подписанием .

  3. В поле Команда введите название команды.

    Вы можете использовать идентификатор пакета по умолчанию для запуска приложения из Xcode, но вы должны изменить его, если вы используете GeospatialExample в качестве заглушки для собственного приложения в рабочей среде.

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

  5. Создайте и запустите приложение GeospatialExample из файла .xcworkspace , чтобы запустить его на своем устройстве.

    Чтобы избежать ошибок сборки, убедитесь, что вы выполняете сборку из файла .xcworkspace , а не из файла .xcodeproj .

Вы должны увидеть вид с камеры, а также отладочную информацию, описывающую текущее геопространственное преобразование вашего устройства. Сканируя окружающую среду вокруг себя, обратите внимание, что значения достоверности точности позиционирования могут меняться по мере вашего перемещения, если вы находитесь в зоне, поддерживаемой локализацией VPS.

Когда ARCore уверен в местоположении и направлении вашего устройства, вы можете разместить якорь в своем текущем местоположении, используя геопространственное преобразование.

Точность позиционирования может быть слишком низкой, если информация VPS недоступна. Приложение должно быть подключено к Интернету, а местоположение должно быть известно VPS. Для достижения наилучших результатов запускайте образец приложения на улице (не в помещении) в светлое время суток.

Кроме того, если вы находитесь в районе, где не поддерживается VPS, или если сигналов GPS недостаточно, вам может потребоваться настроить пороговые значения достоверности в приложении, чтобы разместить якорь.

Чтобы настроить пороги:

  1. В Xcode откройте файл ViewController.m и перейдите к следующему разделу:

    // Thresholds for 'good enough' accuracy. These can be tuned for the
    // application. We use both 'low'
    // and 'high' values here to avoid flickering state changes.
    static const CLLocationAccuracy kHorizontalAccuracyLowThreshold = 10;
    static const CLLocationAccuracy kHorizontalAccuracyHighThreshold = 20;
    static const CLLocationDirectionAccuracy kHeadingAccuracyLowThreshold = 15;
    static const CLLocationDirectionAccuracy kHeadingAccuracyHighThreshold = 25;
    
  2. При необходимости откорректируйте эти значения. Чем выше значение, тем ниже точность.

    Снижение точности дает приложению больше возможностей при размещении привязки. Дополнительные сведения см. в разделе Настройка точности преобразования .

Следующие шаги

Ознакомьтесь с руководством разработчика Geospatial для iOS и начните создавать приложения с помощью Geospatial API.