Краткое руководство по геопространственным данным для 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) в своем приложении, вы должны сначала включить API ARCore в новом или существующем проекте Google Cloud. Хотя Geospatial API работает как с авторизацией без ключа, так и с авторизацией по ключу API, для этого краткого руководства используйте метод ключа API.

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

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

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

  2. Добавьте свой ключ 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.