Interfejs Geospatial API korzysta z kombinacji VPS i danych GPS do generowania zdjęć geoprzestrzennych o dużej dokładności. Interfejsu API można używać w każdym miejscu, w którym urządzenie może określić swoją 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 zdjęć o dużej dokładności.
- W środowiskach zewnętrznych z niewielką liczbą przeszkód lub niewidocznymi z powietrza interfejs Geospatial API może wykorzystywać dostępne dane o lokalizacji GPS do bardzo dokładnego generowania pozycji geoprzestrzennych.
Możesz określić dostępność VPS w danej pozycji w poziomie przed rozpoczęciem sesji AR i wykorzystać ją do stworzenia bardziej szczegółowych doświadczeń, na przykład do wyświetlania przycisku „Enter AR” tylko wtedy, gdy jest on dostępny.
Włącz interfejs ARCore API
Aby sprawdzić dostępność VPS, Twoja aplikacja musi włączyć interfejs ARCore API.
Sprawdź dostępność VPS w swojej aplikacji
Interfejsu Geospatial API można używać wszędzie tam, gdzie urządzenie może określić swoją lokalizację. Jeśli działanie AR zależy od zasięgu VPS, możesz użyć AREarthManager.CheckVpsAvailabilityAsync()
, aby uzyskać VpsAvailabilityPromise
, czyli asynchroniczne zadanie, które sprawdza dostępność VPS w danej pozycji w poziomie.
Gdy masz już VpsAvailabilityPromise
, możesz uzyskać jego wynik przez ankietowanie.
Przeprowadź ankietę
Użyj VpsAvailabilityPromise.State
, aby uzyskać stan InterruptiblePromise
. Istnieją 3 stany:
Pending
: operacja nie została jeszcze zakończona, więc nie jest znany żaden wynik.Cancelled
: operacja została anulowana przez użytkownikaVpsAvailabilityPromise.Cancel()
. Zarejestrowane wywołanie zwrotne nigdy nie zostanie wykonane.Done
: operacja została zakończona. Użyj funkcjiVpsAvailabilityPromise.Result
, aby otrzymać wynik.
Możesz sprawdzać konto VpsAvailabilityPromise.State
, dopóki zadanie nie zostanie ukończone.
Anuluj umowę InterruptiblePromise
Użyj VpsAvailabilityPromise.Cancel()
, aby spróbować anulować InterruptiblePromise
. Z powodu równoległości wątków próba anulowania może się nie udać.
Używaj interfejsu Geospatial API bez zasięgu 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, do wykonania pozycji z dużą dokładnością GPS może wystarczyć sygnał GPS.
Co dalej
- Określ położenie geoprzestrzenne kamery urządzenia, aby określić dokładną lokalizację urządzenia użytkownika w świecie rzeczywistym.