Настройте параметры своего приложения так, чтобы оно могло использовать Geospatial API .
Предварительные условия
Прежде чем продолжить, убедитесь, что вы понимаете фундаментальные концепции AR и то, как настроить сеанс ARCore .
Если вы хотите запустить пример приложения, демонстрирующий описанную здесь функциональность, см. краткое руководство по ARCore Geospatial для iOS .
Дополнительную информацию о Geospatial API см. в разделе «Введение в Geospatial API».
Если вы новичок в разработке с помощью ARCore, см. раздел «Начало работы» для получения информации о требованиях к программному и аппаратному обеспечению, предварительных требованиях и другой информации, специфичной для используемых вами платформ.
Включите API ARCore
Прежде чем использовать систему визуального позиционирования (VPS) в своем приложении, вы должны сначала включить API ARCore в новом или существующем проекте Google Cloud. Эта служба отвечает за размещение, хранение и разрешение геопространственных привязок.
Предпочтительна авторизация без ключа, но также поддерживается авторизация по ключу API.
Добавьте необходимые библиотеки в ваше приложение
После авторизации вашего приложения для вызова API ARCore вы должны добавить библиотеки, чтобы включить геопространственные функции в вашем приложении.
ОбновитеPodfile
своего приложения, включив в него ARCore SDK и поддерживаемые версии iOS. Для этого:Добавьте следующую
platform
иpod
вPodfile
вашего проекта:platform :ios, '11.0' pod 'ARCore/Geospatial', '~> 1.45.0'
Вы также можете указать
platform :ios, '10.0'
, если хотите поддерживать iOS 10, но учтите, что Geospatial API будет работать только во время выполнения на iOS >= 11.Откройте окно терминала и запустите
pod install
из папки, где находится ваш проект Xcode.При этом создается файл
.xcworkspace
, который вы используете для сборки и запуска приложения.
Убедитесь, что ваша среда разработки соответствует требованиям ARCore SDK, как описано в Кратком руководстве .
Включите геопространственные возможности в конфигурации сеанса.
Проверьте совместимость устройства
Не все устройства, поддерживающие ARCore, также поддерживают Geospatial API, как описано в кратком руководстве .
Используйте GARSession.isGeospatialModeSupported:
для проверки устройства, как показано ниже:
if (![self.garSession isGeospatialModeSupported:GARGeospatialModeEnabled]) {
[self setErrorStatus:@"GARGeospatialModeEnabled is not supported on this device."];
return;
}
GARSessionConfiguration *configuration = [[GARSessionConfiguration alloc] init];
configuration.geospatialMode = GARGeospatialModeEnabled;
[self.garSession setConfiguration:configuration error:&error];
if (error) {
[self setErrorStatus:[NSString stringWithFormat:@"Failed to configure GARSession: %d",
(int)error.code]];
return;
}
Запросить у пользователя разрешения на определение местоположения во время выполнения
Прежде чем настраивать сеанс, ваше приложение должно запросить следующие разрешения на определение местоположения во время выполнения:
-
kCLAuthorizationStatusAuthorizedWhenInUse
-
CLAccuracyAuthorizationFullAccuracy
(применяется, когда iOS >= 14)
Проверьте доступность геопространственных данных в текущем местоположении устройства.
Поскольку Geospatial API использует комбинацию VPS и GPS для определения геопространственного преобразования, API можно использовать до тех пор, пока устройство может определить свое местоположение. В районах с низкой точностью GPS, таких как закрытые помещения и плотная городская среда, API будет полагаться на покрытие VPS для генерации высокоточных преобразований. Ожидается, что в типичных условиях VPS обеспечит точность позиционирования около 5 метров и точность вращения 5 градусов. Используйте GARSession.checkVPSAvailabilityAtCoordinate:completionHandler:
чтобы определить, имеет ли данное местоположение покрытие VPS.
Geospatial API также можно использовать в регионах, где нет покрытия VPS. На открытом воздухе с небольшим количеством препятствий или без них GPS может быть достаточно для создания преобразования с высокой точностью.
Что дальше
- Получите геопространственное преобразование камеры устройства , чтобы определить точное местоположение устройства пользователя в реальном мире.
- Проверьте доступность VPS в указанном месте расположения устройства.