Skonfiguruj ustawienia aplikacji, aby umożliwić korzystanie z interfejsu Geospatial API.
Wymagania wstępne
Zanim przejdziesz dalej, upewnij się, że znasz podstawowe pojęcia związane z AR i wiesz, jak skonfigurować sesję ARCore.
Jeśli chcesz uruchomić przykładową aplikację, która prezentuje opisane tu funkcje, przeczytaj krótkie wprowadzenie do ARCore Geospatial na iOS.
Więcej informacji o interfejsie Geospatial API znajdziesz we wprowadzeniu do interfejsu Geospatial API.
Jeśli nie masz doświadczenia w programowaniu z ARCore, przeczytaj Pierwsze kroki, aby uzyskać informacje o wymaganiach dotyczących oprogramowania i sprzętu, wymagań wstępnych oraz innych informacji specyficznych dla używanych przez Ciebie platform.
Włącz interfejs ARCore API
Zanim użyjesz w swojej aplikacji systemu VPS (Visual Positioning System, VPS), musisz najpierw włączyć interfejs ARCore API w nowym lub istniejącym projekcie Google Cloud. Ta usługa odpowiada za hostowanie, przechowywanie i rozstrzyganie kotwic geoprzestrzennych.
Preferowana jest autoryzacja bez klucza, ale obsługiwana jest również autoryzacja klucza interfejsu API.
Dodaj wymagane biblioteki do aplikacji
Po autoryzacji aplikacji do wywoływania interfejsu ARCore API musisz dodać biblioteki, aby włączyć w niej funkcje geoprzestrzenne.
Zaktualizuj plikPodfile
swojej aplikacji, aby zawierał pakiet ARCore SDK i obsługiwaną wersję na iOS. Aby to zrobić:
Dodaj
platform
ipod
doPodfile
projektu:platform :ios, '11.0' pod 'ARCore/Geospatial', '~> 1.44.0'
Możesz też określić
platform :ios, '10.0'
, jeśli chcesz obsługiwać iOS 10. Pamiętaj jednak, że interfejs Geospatial API będzie działać tylko w czasie działania w iOS w wersji 11 lub nowszej.Otwórz okno terminala i uruchom
pod install
z folderu, w którym znajduje się projekt Xcode.Spowoduje to wygenerowanie pliku
.xcworkspace
, który służy do skompilowania i uruchomienia aplikacji.
Upewnij się, że Twoje środowisko programistyczne spełnia wymagania ARCore SDK zgodnie z opisem w krótkim wprowadzeniu.
Włącz funkcje geoprzestrzenne w konfiguracji sesji
Sprawdź zgodność urządzenia
Nie wszystkie urządzenia obsługujące ARCore również obsługują interfejs Geospatial API, jak opisano w quickstart.
Użyj GARSession.isGeospatialModeSupported:
, aby sprawdzić urządzenie, jak w tym przykładzie:
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;
}
Pytaj użytkownika o dostęp do lokalizacji podczas działania
Przed skonfigurowaniem sesji aplikacja musi poprosić o te uprawnienia do lokalizacji w czasie działania:
kCLAuthorizationStatusAuthorizedWhenInUse
CLAccuracyAuthorizationFullAccuracy
(dotyczy urządzeń z systemem iOS >= 14)
Sprawdź dostępność danych geoprzestrzennych w bieżącej lokalizacji urządzenia
Interfejs Geospatial API używa kombinacji VPS i GPS do przekształcania transformacji geoprzestrzennej, dlatego interfejsu API można używać, jeśli urządzenie może określić jego lokalizację. Na obszarach o niskiej dokładności sygnału GPS, takich jak przestrzenie wewnątrz budynków czy gęsty obszar miejski, interfejs API będzie wykorzystywać dane VPS do generowania transformacji o dużej dokładności. W typowych warunkach architektura VPS zapewnia dokładność pozycjonowania wynoszącą około 5 metrów i dokładność obrotu co 5 stopni. Użyj narzędzia 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 są objęte zasięgiem VPS. W warunkach na zewnątrz, w których występuje niewiele przeszkód z powietrza lub nie ma ich wcale, dane GPS mogą wystarczyć do przeprowadzenia przekształcenia z dużą dokładnością.
Co dalej
- Uzyskaj transformację geoprzestrzenną aparatu urządzenia, aby określić dokładną lokalizację urządzenia użytkownika w świecie rzeczywistym.
- Sprawdź dostępność VPS w danej lokalizacji urządzenia.