Skonfiguruj ustawienia aplikacji, aby umożliwić korzystanie z interfejsu Geospatial API.
Wymagania wstępne
Upewnij się, że znasz podstawowe pojęcia związane z AR. i dowiedz się, jak skonfigurować sesję ARCore, zanim przejdziesz dalej.
Jeśli chcesz uruchomić przykładową aplikację prezentującą opisane funkcje obejrzyj Krótkie wprowadzenie do ARCore Geospatial na iOS
Zobacz Wprowadzenie do interfejsu Geospatial API informacje o interfejsie Geospatial API.
Jeśli nie masz doświadczenia w programowaniu z ARCore, przeczytaj artykuł Pierwsze kroki. zawiera informacje o wymaganiach dotyczących oprogramowania i sprzętu, wymagań wstępnych oraz inne informacje powiązane z platformami, z których korzystasz.
Włączanie interfejsu ARCore API
Przed użyciem systemu pozycjonowania wizualnego (VPS) w aplikacji musisz najpierw włączyć interfejs ARCore API, w nowym lub istniejącym projekcie Google Cloud. Ta usługa odpowiada za hostowanie, przechowywanie i rozwiązywanie kotwic geoprzestrzennych.
Preferowana jest autoryzacja bez klucza, ale jest też obsługiwana autoryzacja klucza interfejsu API.
Dodaj wymagane biblioteki do aplikacji
Po autoryzowaniu aplikacji do wywoływania interfejsu ARCore API musisz dodać biblioteki do włączyć w aplikacji funkcje geoprzestrzenne.
ZaktualizujPodfile
swojej aplikacji, dodając do niej pakiet ARCore SDK i obsługiwany iOS
obsługi wersji. Aby to zrobić:
Dodaj
platform
ipod
do:Podfile
projektu:platform :ios, '11.0' pod 'ARCore/Geospatial', '~> 1.45.0'
Możesz też określić
platform :ios, '10.0'
, jeśli chcesz obsługiwać iOS 10, ale pamiętaj, że interfejs Geospatial API będzie działać tylko w czasie działania na urządzeniach z iOS w wersji 11 lub nowszej.Otwórz okno terminala i uruchom
pod install
z folderu, w którym Twój projekt Xcode już istnieje.Spowoduje to wygenerowanie pliku
.xcworkspace
, który służy do tworzenia uruchom aplikację.
Upewnij się, że Twoje środowisko programistyczne spełnia wymagania pakietu ARCore SDK: omówiono w krótkim wprowadzeniu.
Włącz funkcje geoprzestrzenne w konfiguracji sesji
Sprawdź zgodność urządzeń
Nie wszystkie urządzenia obsługujące ARCore obsługują również interfejs Geospatial API, opisane w krótkim wprowadzeniu.
Używaj
GARSession.isGeospatialModeSupported:
aby sprawdzić urządzenie, wykonując te czynności:
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;
}
Poproś użytkownika o dostęp do lokalizacji podczas działania
Aplikacja musi prosić o te uprawnienia dostępu do lokalizacji w czasie działania, przed Konfigurowanie sesji:
kCLAuthorizationStatusAuthorizedWhenInUse
CLAccuracyAuthorizationFullAccuracy
(ma zastosowanie, gdy iOS >= 14)
Sprawdź dostępność danych geoprzestrzennych w bieżącej lokalizacji urządzenia
Ponieważ interfejs Geospatial API do określania przekształcenia geoprzestrzennego wykorzystuje kombinację VPS i GPS, można go używać, jeśli urządzenie jest w stanie określić swoją lokalizację. W obszarach o niskiej dokładności GPS, na przykład w pomieszczeniach wewnątrz i w gęsto zabudowanych środowiskach miejskich, interfejs API będzie wykorzystywać zasięg VPS do generowania przekształceń o wysokiej dokładności. W typowych warunkach VPS może zapewniać dokładność pozycjonowania do około 5 metrów i dokładność obrotu do 5 stopni. Użyj GARSession.checkVPSAvailabilityAtCoordinate:completionHandler:
, aby określić, czy dana lokalizacja ma zasięg VPS.
Interfejsu Geospatial API można też używać na obszarach, które nie mają zasięgu VPS. Na zewnątrz, gdzie jest niewiele przeszkód z góry, lub nie ma ich wcale, do wygenerowania przekształcenia z dużą dokładnością wystarczy GPS.
Co dalej?
- Uzyskaj transformację geoprzestrzenną kamery urządzenia, aby określić dokładną lokalizację urządzenia użytkownika w świecie rzeczywistym.
- Sprawdź dostępność VPS w podanej lokalizacji urządzenia.