В этом кратком руководстве по ARCore Geospatial API показано, как запустить в Android Studio пример приложения, демонстрирующего Geospatial API.
Руководство по разработке собственного приложения с помощью Geospatial API см . в руководстве разработчика Geospatial для Android (Kotlin/Java) или в руководстве разработчика Geospatial для Android NDK (C) .
Дополнительную информацию о Geospatial API см. в разделе «Введение в ARCore Geospatial API» .
Если вы новичок в разработке с помощью ARCore, см. раздел «Начало работы» .
Требования
Поддержка устройств
Полный список устройств, сертифицированных для работы с ARCore, см. в разделе «Поддерживаемые устройства» . Для Geospatial API одним из ключевых компонентов оборудования является магнитометр, соответствующий спецификациям Geospatial API. Некоторые магнитометры не соответствуют техническим характеристикам; устройства с этими нестандартными магнитометрами не поддерживаются.
Программное обеспечение
На поддерживаемом устройстве установлена последняя версия Сервисов Google Play для AR .
Android Studio версии 3.0 или более поздней версии с платформой Android SDK версии 7.0 (уровень API 24) или более поздней версии.
ARCore SDK для Android, который можно получить одним из двух способов:
Загрузите его с GitHub и распакуйте на свой компьютер.
Клонируйте репозиторий с помощью следующей команды:
git clone https://github.com/google-ar/arcore-android-sdk.git
Откройте и настройте образец приложения
Проект geospatial_java , входящий в состав ARCore SDK для Android, описывает код, вызывающий Geospatial API.
В Android Studio в меню «Файл» нажмите « Открыть» .
Перейдите в папку проекта arcore-android-sdk .
Откройте папку примеров , выберите папку geospatial_java и нажмите « Открыть» .
Настройте проект Google Cloud
Чтобы использовать систему визуального позиционирования (VPS), ваше приложение должно быть связано с облачным проектом Google, который поддерживает API ARCore. См. раздел Использование ARCore API в Google Cloud для настройки авторизации. Вы можете выбрать авторизацию без ключа или через API-ключ.
Запустите пример приложения
В Android Studio запустите пример приложения.
Вы должны увидеть вид с камеры, а также отладочную информацию, описывающую текущее геопространственное положение вашего устройства. Сканируя окружающую среду вокруг себя, обратите внимание, что значения достоверности точности позиционирования могут меняться по мере вашего перемещения, если вы находитесь в зоне, поддерживаемой локализацией VPS.
Когда ARCore уверен в местоположении и направлении вашего устройства, вы можете разместить якорь в своем текущем местоположении, используя геопространственную позу.
Точность позиционирования может быть слишком низкой, если информация VPS недоступна. Приложение должно быть подключено к Интернету, а местоположение должно быть известно VPS. Для достижения наилучших результатов запускайте образец приложения на улице (не в помещении) в светлое время суток.
Кроме того, если вы находитесь в районе, где не поддерживается VPS, или если сигналов GPS недостаточно, вам может потребоваться настроить пороговые значения достоверности в приложении, чтобы разместить якорь.
Чтобы настроить пороги:
В Android Studio откройте GeospatialActivity и перейдите к следующему разделу:
// The thresholds that are required for horizontal and heading accuracies before entering into the // LOCALIZED state. Once the accuracies are equal or less than these values, the app will // allow the user to place anchors. private static final double LOCALIZING_HORIZONTAL_ACCURACY_THRESHOLD_METERS = 10; private static final double LOCALIZING_HEADING_ACCURACY_THRESHOLD_DEGREES = 15;
При необходимости откорректируйте эти значения. Чем выше значение, тем ниже точность.
Снижение точности дает приложению больше возможностей при размещении привязки. Дополнительную информацию см. в разделе Настройка точности позы .
Следующие шаги
Попробуйте кодовую лабораторию Geospatial .
Ознакомьтесь с руководством разработчика Geospatial для Android (Kotlin/Java) или руководством разработчика Geospatial для Android NDK (C) и начните создавать приложения с помощью Geospatial API.